從NodeList 轉換為Array:揭開最快的方法
之前的討論建議利用Array.prototype.slice.call(nl )方法提供了從NodeList 到Array 的最有效的轉換。然而,最近的基準測試揭示了一個驚人的不同現實。與流行的看法相反,傳統的 for 循環方法 for(var i = 0, n; n = nl[i]; i) arr.push(n); 比上述方法高出三倍。
這個令人費解的發現激發了人們的好奇心:這只是 Chromium 6 的一個怪癖,還是隱藏著一種更快的方法?幸運的是,隨著 ES6 的出現,我們得到了一個解決方案,它毫不費力地優於之前提出的兩種方法。
Array.from(): 終極解決方案
The ES6 中引入的Array.from() 函數提供了一種將NodeList 轉換為Array 的簡潔而快速的方法。它的文法很簡單:
// nl is a NodeList let myArray = Array.from(nl)
這一行程式碼以無與倫比的效率完成了轉換,大大超越了它的前輩。因此,對最快轉換方法的追求最終以 Array.from() 的勝利告終,為開發人員提供了完成這項基本任務的無與倫比的解決方案。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3