Rumah > hujung hadapan web > tutorial js > Adakah Array.from() Benar-benar Cara Terpantas untuk Menukar NodeList kepada Array?

Adakah Array.from() Benar-benar Cara Terpantas untuk Menukar NodeList kepada Array?

Linda Hamilton
Lepaskan: 2024-11-02 18:10:28
asal
866 orang telah melayarinya

  Is Array.from() Truly the Fastest Way to Convert a NodeList to an Array?

Penukaran Optimum daripada NodeList JavaScript kepada Array: Perbandingan Prestasi

Perbincangan sebelum ini telah mencadangkan untuk menukar NodeList kepada tatasusunan menggunakan Array.prototype .slice.call(nl) ialah pendekatan yang paling cekap. Walau bagaimanapun, penanda aras prestasi baru-baru ini telah mencabar tanggapan ini.

Menanda Aras Dua Kaedah

Manakala kaedah Array.prototype.slice.call(nl) dianggap secara meluas sebagai pantas , percubaan dalam Chromium 6 telah menunjukkan bahawa ia jauh lebih perlahan daripada gelung mudah:

<code class="javascript">// Using a 'for' loop
var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);</code>
Salin selepas log masuk

Hasil ini mungkin mengejutkan, memandangkan kecekapan kaedah slice() yang dilihat.

Masukkan Array.from() ES6

Dengan kemunculan ES6, kami kini mempunyai penyelesaian yang diperkemas untuk tugas ini: fungsi Array.from(). Fungsi ini membolehkan kami mencipta tatasusunan daripada objek boleh lelar, yang termasuk NodeLists.

<code class="javascript">// Using Array.from()
let myArray = Array.from(nl)</code>
Salin selepas log masuk

Faedah Prestasi Array.from()

Array.from( ) mengatasi kedua-dua slice() dan gelung mudah dari segi kelajuan. Ini disebabkan oleh pelaksanaannya yang dioptimumkan, yang memanfaatkan pengendali penyebaran ES6 untuk mencipta tatasusunan dengan cekap.

Kesimpulan

Walaupun teknik lama untuk menukar NodeLists kepada tatasusunan mungkin masih mempunyai kegunaannya, pengenalan Array.from() telah menjadikannya sebagai pendekatan terpantas dan paling mudah. Dengan memanfaatkan ciri lanjutan ES6, pembangun kini boleh melakukan penukaran ini dengan mudah dan cekap.

Atas ialah kandungan terperinci Adakah Array.from() Benar-benar Cara Terpantas untuk Menukar NodeList kepada Array?. 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