说起伪数组,首先想到arguments, 这个我们函数参数的一个类数组,是类数组的代表。
1.拥有length属性,可以使用下标来访问元素,这两点和数组相同。
2.不能使用数组的方法,他们不能使用Array的方法。
把类数组对象转化为数组对象
1.创建新数组,把类数组的元素添加到新数组中,大家都会我就不写了
2.通过Array.prototype.slice.call()将类数组对象传入即可。Array.prototype.slice.call(arrayLike)
就相当于把参数全部截取,然后返回成一个新数组
原理是数组的slice()方法可以从已有数组中返回一个新数组,它可以接受两个参数arr.slice(start,end),第一个参数规定从何处开始选取,第二个参数表示从何处选取结束,如果不传参将返回原数组的一个副本,但该方法不会修改原数组,而是返回截取的新数组,根据这个就可以将类数组转化成数组对象啦!
3.es6中的新方法Array.from()
Array.from(arguemtns)
4.let oDivs = document.getElementsByTagName('div');
oDivs = [...oDivs];
网友评论