首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中有效率地將 HTMLCollection 轉換為陣列?

Barbara Streisand
發布: 2024-11-19 18:12:03
原創
518 人瀏覽過

How to Efficiently Convert an HTMLCollection to an Array in JavaScript?

HTMLCollection 到陣列的高效轉換

將HTMLCollection(HTML 文件中的元素集合)轉換為陣列是一項常見任務在網路開發中。雖然迭代並手動將每個項目複製到數組中,但效率可能很低。

「本機」程式碼解決方案

更有效的方法是使用本機JavaScript方法Array.prototype.slice.call():

var arr = Array.prototype.slice.call(htmlCollection);
登入後複製

此方法傳回一個包含下列元素的陣列htmlCollection 物件。

簡潔表達式

由於語法可能很冗長,更簡潔的等效表達式是:

var arr = [].slice.call(htmlCollection);
登入後複製

ES6解決方案

ES6 (ECMAScript 2015)引入了附加選項:

  • Array.from():將可迭代物件(例如HTMLCollection)轉換為數組。
var arr = Array.from(htmlCollection);
登入後複製
  • 擴充運算子:解壓縮將可迭代物件放入陣列中。
var arr = [...htmlCollection];
登入後複製

效能比較

基準(例如,https://jsben.ch/h2IFA)顯示以下內容方法有類似的效能:

  • Array.prototype.slice.call()
  • [].slice.call()
  • Array.from()

Array.from()

Array.from()擴充運算子稍微慢一些,但可能因其簡潔而更受青睞因此,將HTMLCollection 轉換為陣列的最有效方法取決於開發人員的具體要求和偏好。

以上是如何在 JavaScript 中有效率地將 HTMLCollection 轉換為陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板