将 JavaScript NodeList 转换为数组:速度注意事项
之前关于将 NodeList 转换为数组的主题的讨论声称使用 slice()方法是最有效的方法。然而,最近的基准测试揭示了一个令人惊讶的发现。
基准观察
在 Chromium 6 上进行的实验中,发现使用简单的方法从 NodeList 创建数组for 循环的性能比 slice() 方法高出三倍以上。这个结果与之前有关 slice() 优越性的断言相冲突。
可能的解释
这种差异的原因可能源于浏览器特定的优化或 JavaScript 中的差异引擎实现。在这种情况下,Chromium 引擎可能会更有效地处理 for 循环。
ES6 的替代解决方案
随着 ES6 的出现,一种新的简洁解决方案可用:Array.from() 函数。此函数可以快速轻松地从任何可迭代对象(包括 NodeList)创建数组。
// nl is a NodeList let myArray = Array.from(nl)
结论
虽然 for 循环方法在某些情况下可能会提供令人惊讶的速度浏览器中,Array.from() 函数提供了一种现代的跨平台解决方案,用于将 NodeList 转换为数组。
以上是`slice()` 仍然是将 NodeList 转换为数组的最快方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!