Bagaimana dengan Cekap Menukar HTMLCollection kepada Array dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-11-19 18:12:03
asal
518 orang telah melayarinya

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

Penukaran Cekap HTMLCollection kepada Array

Menukar HTMLCollection, koleksi elemen dalam dokumen HTML, kepada tatasusunan ialah tugas biasa dalam pembangunan web. Semasa mengulang dan menyalin secara manual setiap item ke dalam tatasusunan berfungsi, ia boleh menjadi tidak cekap.

Penyelesaian Kod "Asli"

Pendekatan yang lebih cekap ialah menggunakan JavaScript asli method Array.prototype.slice.call():

var arr = Array.prototype.slice.call(htmlCollection);
Salin selepas log masuk

Kaedah ini mengembalikan tatasusunan yang mengandungi unsur-unsur daripada htmlObjek koleksi.

Ungkapan Ringkas

Memandangkan sintaks boleh menjadi verbose, ungkapan setara yang lebih ringkas ialah:

var arr = [].slice.call(htmlCollection);
Salin selepas log masuk

ES6 Penyelesaian

ES6 (ECMAScript 2015) memperkenalkan pilihan tambahan:

  • Array.from(): Menukar objek boleh lelar, seperti HTMLCollection, kepada tatasusunan.
var arr = Array.from(htmlCollection);
Salin selepas log masuk
  • Spread Operator: Membongkar objek boleh lelar ke dalam tatasusunan.
var arr = [...htmlCollection];
Salin selepas log masuk

Perbandingan Prestasi

Tanda aras (cth., https://jsben.ch/h2IFA) menunjukkan bahawa kaedah berikut mempunyai persamaan prestasi:

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

Pengendali spread agak perlahan, tetapi ia mungkin lebih disukai kerana ringkasnya sintaks.

Oleh itu, cara paling berkesan untuk menukar HTMLCollection kepada tatasusunan bergantung pada keperluan dan keutamaan khusus pembangun.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar HTMLCollection kepada Array dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan