將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中文網其他相關文章!