如何将类数组转换为真正的数组
一、遍历类数组,依次将元素放入一个空数组。
类数组本身虽然不是数组,但是有interator接口,所以可遍历。(interator指可遍历、可迭代)
例如:
页面有三个div,divEle是一个nodeList,即元素集合,并非纯数组。可以用let of遍历。然后依次放入一个空数组。这样divArr就是div元素集合的数组。
二、用扩展运算符或者Array.from()方法转换
es6新增了扩展运算符(…)以及Array.from()方法,可以直接将类数组转换为真正的数组。
扩展运算符的使用前提,是对象有Interator接口,这和let of的前提是一样的。但是用扩展运算符和Array.from()无疑简洁很多。
需要特别指出的是,Array.from()方法可以将任意具有length属性的对象转换成真正的数组(类数组有length属性)。具体转换形式可参考阮一峰老师的《es6标准入门》一书。
三、利用apply展开
apply方法的第二个参数是数组,也可以是类数组,在调用的时候会将第二个参数依次展开。
过程类似扩展运算符。
以上三种方法推荐扩展运算符,方式非常的简洁。