1. 什么是类数组
JS中有一些看起来像却又不是数组的对象,叫做类数组.
2. 什么是类数组对象
一个拥有 length 属性和若干索引属性的对象就可以被称为类数组对。类数组对象和数组类似,但是不能调用数组的方法。常见的类数组对象有 arguments 和 DOM 方法的返回结果,还有一个函数也可以被看作是类数组对象,因为它含有 length 属性值,代表可接收的参数个数。
3. 类数组转换成数组
方法一:通过 call 调用数组的 slice 方法来实现转换
Array.prototype.slice.call(arrayLike);
方法二:通过 apply 调用数组的 concat 方法来实现转换
Array.prototype.concat.apply([], arrayLike);
方法三:通过 call 调用数组的 splice 方法来实现转换
Array.prototype.splice.call(arrayLike, 0);
方法四: `通过 Array.from 方法来实现转换
Array.from(arrayLike);