Menukar NodeList JavaScript kepada Array: Pertimbangan Kelajuan
Perbincangan sebelum ini mengenai topik menukar NodeLists kepada tatasusunan telah mendakwa bahawa menggunakan slice() kaedah adalah pendekatan yang paling berkesan. Walau bagaimanapun, penanda aras baru-baru ini telah mendedahkan penemuan yang mengejutkan.
Pemerhatian Penanda Aras
Dalam percubaan yang dijalankan pada Chromium 6, didapati bahawa mencipta tatasusunan daripada NodeList menggunakan for loop mengatasi kaedah slice() dengan lebih daripada tiga kali ganda. Keputusan ini bercanggah dengan dakwaan terdahulu mengenai keunggulan slice().
Penjelasan Kemungkinan
Punca percanggahan ini mungkin berpunca daripada pengoptimuman khusus penyemak imbas atau perbezaan dalam JavaScript pelaksanaan enjin. Ada kemungkinan enjin Chromium mengendalikan gelung for dengan lebih cekap dalam senario ini.
Penyelesaian Alternatif dengan ES6
Dengan kemunculan ES6, penyelesaian baharu dan ringkas tersedia: fungsi Array.from(). Fungsi ini boleh dengan cepat dan mudah mencipta tatasusunan daripada mana-mana objek boleh lelar, termasuk NodeLists.
// nl is a NodeList let myArray = Array.from(nl)
Kesimpulan
Walaupun pendekatan gelung for mungkin menawarkan kelajuan yang mengejutkan dalam beberapa pelayar, fungsi Array.from() menyediakan penyelesaian moden dan merentas platform untuk menukar NodeLists kepada tatasusunan.
Atas ialah kandungan terperinci Adakah `slice()` Masih Cara Terpantas untuk Menukar NodeList kepada Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!