说起伪数组,大家可能会想到arguments, 这个我们函数参数的一个类数组,是类数组的代表。
1.拥有length属性,可以使用下标来访问元素,这两点和数组相同。
2.不能使用数组的方法,他们不能使用Array的方法。
我们有一种需求就是把类数组对象转化为数组对象,下面我们看一下这些方法。
1.创建新数组,把类数组的元素添加到新数组中,大家都会我就不写了
2.通过Array.prototype.slice.call()将类数组对象传入即可。
//模拟slice的内部实现 Array.prototype.slice = function (start,end) { let arr = []; let start = start || 0; let end = end || this.length; for(let i=start; i<end; i++){ arr[i] = this[i]; } return arr; }
就相当于把参数全部截取,然后返回成一个新数组
3.es6中的新方法Array.form()
Array.form(arguemtns)