将 HTMLCollection 转换为数组可以通过迭代方式实现,手动将每个项目附加到数组中。然而,有更有效的方法来进行这种转换。
原生代码方法:
其中一种方法利用 slice 方法>Array.prototype,如以下代码片段所示:
var arr = Array.prototype.slice.call(htmlCollection);
简明版本:
为了更简洁,下面的表达式达到相同的结果:var arr = [].slice.call(htmlCollection);
Array.from (ES6 ):
在 ECMAScript 2015 及更高版本中,Array.from 方法提供了将可迭代对象转换为数组的本机解决方案,包括 HTMLCollections:
var arr = Array.from(htmlCollection);
Spread 运算符(ES6 ):
ES6 中引入的展开运算符,提供了与Array.from 功能等效的方法,如下所示:
var arr = [...htmlCollection];
性能比较:
这些方法的比较分析,请参考以下基准:http://jsben.ch/h2IFA以上是如何高效地将 HTMLCollection 转换为数组?的详细内容。更多信息请关注PHP中文网其他相关文章!