從JavaScript NodeList 到數組的最佳轉換:性能比較
之前的討論建議使用Array.prototype 將NodeList 轉換為數組. slice.call(nl) 是最有效的方法。然而,最近的性能基準測試對這個概念提出了挑戰。
對兩種方法進行基準測試
雖然Array.prototype.slice.call(nl) 方法被廣泛認為是快速的,Chromium 6 中的實驗表明它比簡單的for 循環慢得多:
考慮到slice() 方法的感知效率,這個結果可能會令人驚訝。
進入ES6 的Array.from()
隨著ES6 的出現,我們現在有了一個簡化的解決方案來完成這個任務:Array.from( ) 函數。此函數允許我們從可迭代物件建立數組,其中包括 NodeList。
Array.from() 的效能優勢
Array.from( ) 在速度方面優於 slice() 和簡單的 for 迴圈。這歸功於它的最佳化實現,它利用 ES6 擴充運算子來有效率地建立陣列。
結論
雖然將NodeList 轉換為數組的舊技術可能仍然有效有其用途,Array.from() 的引入使其成為最快、最方便的方法。透過利用 ES6 的高級功能,開發人員現在可以輕鬆且有效率地執行此轉換。
以上是Array.from() 真的是將 NodeList 轉換為陣列的最快方法嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!