gpt4 book ai didi

javascript - 将 JavaScript NodeList 转换为数组的最快方法?

转载 作者:IT老高 更新时间:2023-10-28 13:12:56 25 4
gpt4 key购买 nike

这里之前回答的问题说这是最快的方法:

//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)中的一个怪癖吗?还是有更快的方法?

编辑:对于任何关心的人,我选择了以下内容(这似乎是我测试的每个浏览器中最快的):

//nl is a NodeList
var l = []; // Will hold the array of Node's
for(var i = 0, ll = nl.length; i != ll; l.push(nl[i++]));

EDIT2:我找到了更快的方法

// nl is the nodelist
var arr = [];
for(var i = nl.length; i--; arr.unshift(nl[i]));

最佳答案

在 ES6 中,我们现在有一种从 NodeList 创建数组的简单方法:Array.from()功能。

// nl is a NodeList
let myArray = Array.from(nl)

关于javascript - 将 JavaScript NodeList 转换为数组的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com