首页 > web前端 > js教程 > Array.from() 真的是将 NodeList 转换为数组的最快方法吗?

Array.from() 真的是将 NodeList 转换为数组的最快方法吗?

Linda Hamilton
发布: 2024-11-02 18:10:28
原创
828 人浏览过

  Is Array.from() Truly the Fastest Way to Convert a NodeList to an Array?

从 JavaScript NodeList 到数组的最佳转换:性能比较

之前的讨论建议使用 Array.prototype 将 NodeList 转换为数组.slice.call(nl) 是最有效的方法。然而,最近的性能基准测试对这个概念提出了挑战。

对两种方法进行基准测试

虽然 Array.prototype.slice.call(nl) 方法被广泛认为是快速的,Chromium 6 中的实验表明它比简单的 for 循环慢得多:

<code class="javascript">// Using a 'for' loop
var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);</code>
登录后复制

考虑到 slice() 方法的感知效率,这个结果可能会令人惊讶。

进入 ES6 的 Array.from()

随着 ES6 的出现,我们现在有了一个简化的解决方案来完成这个任务:Array.from() 函数。此函数允许我们从可迭代对象创建数组,其中包括 NodeList。

<code class="javascript">// Using Array.from()
let myArray = Array.from(nl)</code>
登录后复制

Array.from() 的性能优势

Array.from( ) 在速度方面优于 slice() 和简单的 for 循环。这归功于它的优化实现,它利用 ES6 扩展运算符来高效地创建数组。

结论

虽然将 NodeList 转换为数组的旧技术可能仍然有效有其用途,Array.from() 的引入使其成为最快、最方便的方法。通过利用 ES6 的高级功能,开发人员现在可以轻松高效地执行此转换。

以上是Array.from() 真的是将 NodeList 转换为数组的最快方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板