【发布时间】:2012-11-09 19:16:42
【问题描述】:
在阅读了the recent smashing magazine 关于优化的文章后,我进行了一些测试,看看什么是从我的一个数组中间“删除”一个元素的最有效方法。
在运行我自己的关于从数组中间拼接一个值与删除它/将其设置为 null 的测试之后,我遇到了一个相当意外的结果,即从数组中拼接出一个值会使数组达到一个数量级遍历速度更快。
更多调查将我带到this。
由于某种原因,.shift()'ing 数组中的第一条记录使它的遍历速度提高了 300 倍(在 v8 中看到了最大的性能,但它似乎对我尝试过的所有浏览器都有效中)。
我怀疑我会滥用这个,因为我不认为实际的遍历是一个瓶颈,但是有人知道为什么会发生这种行为吗?
编辑: jsPerf 的不正确使用是这里的根本问题,请参阅下面的答案。
【问题讨论】:
标签: javascript arrays optimization traversal