类数组转化成数组
什么是类数组呢?
定义:具有长度的属性,但是属性是非负整数。它不具有数组的一些方法,但是不意味着它不能使用数组的方法。
举例:arguments 以及DOM中.getElementByTagName()返回值为类数组。
类数组转化为数组的方法
1.Array.from(这是es6新增的特性之一)
var a={ 0:"aa", 1:"cc", 2:"dd", length:3 } Array.from(a) //a=>(3) ["aa", "cc", "dd"]
2.Array.prototype.slice.call(arrayLike)
var a={ 0:"aa", 1:"cc", 2:"dd", length:3 } // Array.from(a) Array.prototype.slice.call(a);
第二种方法理解:数组对象中slice()方法是在不操作原数组的基础上切割数组,可以称之为浅拷贝,所以Array.prototype.slice可以理解为把类数组对象拷贝过来,而slice()方法返回的是一个数组。
好像也就会这些,其他再补充吧!!