js中将类数组转换为数组的几种方法


js中将类数组转换为数组的几种方法

一、总结

一句话总结:

1、Array的slice方法,例如:Array.prototype.slice.call(arguments);
2、Array.from(),例如:let arr = Array.from(arguments);3、
3、扩展运算符...,例如:let arr = [...arguments];
4、jquery的$.makeArray(),例如:let arr = $.makeArray(arguments);

 

 

1、Array的slice方法将类数组对象转换成数组?

a、let arr = Array.prototype.slice.call(arguments);
b、let arr1 = [].slice.call(arguments);
//1、slice方法 function f1() { console.log(arguments); //console.log(arguments instanceof Array); //console.log(arguments instanceof Object);  let arr = Array.prototype.slice.call(arguments); console.log(arr); let arr1 = [].slice.call(arguments); console.log(arr1); } f1(1,32,43,4);

 

 

2、Array.from()方法 将类数组对象转换成数组?

let arr = Array.from(arguments);
//2、Array.from() function f1() { console.log(arguments); let arr = Array.from(arguments); console.log(arr); } f1(1,32,43,4);

 

 

3、扩展运算符... 将类数组对象转换成数组?

let arr = [...arguments];
//3、扩展运算符... function f1() { console.log(arguments); let arr = [...arguments]; console.log(arr); } f1(1,32,43,4);

 

 

4、jquery的$.makeArray() 将类数组对象转换成数组?

let arr = $.makeArray(arguments);
//4、jquery的$.makeArray() function f1() { console.log(arguments); let arr = $.makeArray(arguments); console.log(arr); } f1(1,32,43,5);

 

 

 

二、js中将类数组转换为数组的几种方法

转自或参考:js中将类数组转换为数组的几种方法_JavaScript_(づ。◕‿‿◕。)づgigi奋斗在前端和刷题中╮(╯﹏╰)╭-CSDN博客
https://blog.csdn.net/crystal6918/article/details/60467615

slice

最经典的方法,使用Array的slice方法,此方法如果不传参数的话会返回原数组的一个拷贝,因此可以用此方法转换类数组到数组;

var arr = Array.prototype.slice.call(arguments);

//等同于

var arr = [].slice.call(arguments)

 

Array.from()

是ES6中的方法,用于将类数组转换为数组。

var arr = Array.from(arguments);

只要有length属性的对象,都可以应用此方法转换成数组。

 

扩展运算符

ES6中的扩展运算符...也能将某些数据结构转换成数组,这种数据结构必须有遍历器接口。

var args = [...arguments];

 

$.makeArray()

jQuery的此方法可以将类数组对象转化为真正的数组

var arr = $.makeArray(arguments);
 
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM