在閱讀the recent smashing magazine關於優化的文章之後,我運行了一些測試,以查看從我的數組中間刪除元素的最有效方法。刪除第一個元素後,數組遍歷的幅度更快
運行我自己的測試,關於從數組中間拼接一個數值與刪除數組/將其設置爲空,我遇到了一個意想不到的結果,即將該數組與數組拼接後,幅度快於遍歷。
更多調查導致我到this。
由於某種原因,.shift()從數組中移出第一條記錄使其遍歷速度提高了300倍(在v8中看到的最大性能,但它對於我嘗試過的所有瀏覽器都是有效的它在)。
我懷疑我會濫用這個,因爲我不認爲實際的遍歷是一個瓶頸,但有誰知道爲什麼會出現這種行爲?
編輯:不正確的使用jsPerf是這裏的根本問題,請參閱下面的答案。
我不這麼認爲,如果是這樣的話,那麼這個測試用例http://jsperf.com/spliced-vs-non-spliced/6就應該拿出來,兩者的速度大致相同,拼接的速度非常快,看起來並非如此。 – Doug