一、总结
一句话总结:
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中将类数组转换为数组的几种方法
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);
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。