JS中将类数组转为数组的几种方法
JavaScript并不是真正的数组,而是一种类似数组的对象,由于类数组无法使用数组的一系列方法,所有我在这里整理了几种常用的将类数组转为数组的方法。
1.遍历类数组。
arr = []
for (i = 0; i < arrayLike.length; i++) {
arr.push(arrayLike[i])
}
2.使用Array原型中的方法
方法
let arr = Array.prototype.slice.call(arrayLike);
用call函数让类数组对象使用了Array原型的slice方法,这会截取类数组内所有项的value值形成一个新的数组
方法
let arr = Array.prototype.concat.apply([], arrayLike);
用apply函数修改指向,让一个空数组和类数组进行连接,这是会让空数组和类数组的value进行连接
方法
let arr = Array.prototype.splice.call(arrayLike, 0);
用call函数让类数组使用Array原型的splice方法而不进行裁切,得到数组
3.ES6新增的from方法
ES6在Array中新增了from方法,用于将一个类数组或可迭代对象转为数组.
arr = Array.from(arrayLike);