什么是类数组呢?

定义:具有长度的属性,但是属性是非负整数。它不具有数组的一些方法,但是不意味着它不能使用数组的方法。

举例: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()方法返回的是一个数组。

好像也就会这些,其他再补充吧!!

 

版权声明:本文为Smiling01原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/Smiling01/p/8067065.html