之前在这里回答过的问题说这是最快的方法:
//nl is a NodeList
var arr = Array.prototype.slice.call(nl);
在我的浏览器上进行基准测试时,我发现它比这个慢 3 倍以上:
var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);
它们都产生相同的输出,但我发现很难相信我的第二个版本是最快的方法,特别是因为人们在这里另有说法。
这是我的浏览器(Chromium 6)中的一个怪癖吗?或者有更快的方法吗?
借助 ES6,我们现在可以通过一种简单的方法从 NodeList 创建数组:Array.from() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from功能。
// nl is a NodeList
let myArray = Array.from(nl)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)