如何将类数组转换为真正的数组

蹲街弑〆低调 提交于 2020-01-18 02:09:53

一、遍历类数组,依次将元素放入一个空数组。

类数组本身虽然不是数组,但是有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方法的第二个参数是数组,也可以是类数组,在调用的时候会将第二个参数依次展开。
在这里插入图片描述
过程类似扩展运算符。

以上三种方法推荐扩展运算符,方式非常的简洁。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!