js类数组转化为数组的5种方法【附思路】

arrayLike为要转化的类数组,适合有点基础的小伙伴。

1、扩展运算符...
    console.log([...arrayLike])

2、Array.form
    console.log(Array.from(arrayLike));

3、Array.prototype.slice
   console.log(Array.prototype.slice.call(arrayLike))

思路:
Array.prototype.slice,这段是执行slice,slice不传参数其实就是克隆数组。
让slice方法的this指向类数组(arrayLike或arguments)
实现:其实就是用call改变this指向,this变成谁,就会循环谁,把它里面每一项赋给新数组。

4、Array.apply
   console.log(Array.apply(null, arrayLike))

5、Array.prototype.concat
   console.log(Array.prototype.concat.apply([], arrayLike));
原理同call,与空数组合并,克隆数组后改变this指向。

猜你喜欢

转载自blog.csdn.net/m0_71981318/article/details/125692211