Baru-baru ini saya menemui soalan temu bual yang meminta cara berbeza untuk mengulangi objek Tatasusunan JavaScript. Gesaan pada mulanya kelihatan mudah, kerana saya dijangka memberikan beberapa contoh coretan kod. Walau bagaimanapun, soalan ini menarik minat saya, jadi saya memutuskan untuk menggali lebih mendalam setiap kaedah, meneroka bukan sahaja cara menggunakannya, tetapi juga bila dan mengapa anda boleh memilih satu pendekatan berbanding yang lain.
Dalam artikel ini, saya akan membimbing anda melalui pelbagai kaedah untuk mengulang tatasusunan dalam JavaScript, menyerlahkan perbezaan, kelebihan dan kes penggunaannya.
untuk gelung
Kelebihan:
Sebelum gelung for...of diperkenalkan, gelung for tradisional ialah kaedah standard untuk lelaran tatasusunan. Walau bagaimanapun, ia boleh terdedah kepada ralat, seperti memulakan indeks pada 1 bukannya 0 atau tersilap menggunakan arr.length dan bukannya arr.length - 1. Seperti yang dicadangkan oleh MDN, "ia selalunya terbaik untuk digunakan untuk... daripada jika anda boleh."
Bila hendak digunakan:
Apabila anda memerlukan kawalan penuh ke atas lelaran, seperti melangkau lelaran atau mengulang secara terbalik.
Apabila anda memerlukan kedua-dua indeks dan nilai semasa lelaran.
untuk...daripada
Kelebihan:
Bila hendak digunakan:
Apabila anda hanya perlu bekerja dengan nilai dan tidak memerlukan akses kepada indeks.
Array.prototype.map()
Kelebihan:
Bila hendak digunakan:
Apabila anda ingin menggunakan fungsi pada setiap elemen tatasusunan dan memerlukan hasilnya sebagai tatasusunan baharu.
Array.prototype.forEach()
Kelebihan:
Bila hendak digunakan:
Apabila anda ingin menggunakan fungsi pada setiap elemen tatasusunan tetapi tidak memerlukan tatasusunan baharu dikembalikan.
Array.prototype.entry()
Kelebihan:
Bila hendak digunakan:
Apabila anda perlu mengakses kedua-dua indeks dan nilai elemen tatasusunan.
Array.prototype.keys()
Kelebihan:
Bila hendak digunakan:
Apabila anda memerlukan iterator yang hanya menyediakan indeks bagi elemen tatasusunan.
Array.prototype.values()
Kelebihan:
Bila hendak digunakan:
Apabila anda memerlukan iterator yang hanya menyediakan nilai elemen tatasusunan.
Apakah itu Array Iterator:
Array.prototype.entry(), Array.prototype.keys(), dan Array.prototype.values() mengembalikan objek lelaran tatasusunan baharu. Iterator ini membolehkan anda melintasi koleksi seperti tatasusunan satu elemen pada satu masa. Ia datang dengan kaedah next() yang menyediakan nilai seterusnya dalam jujukan, yang boleh dipanggil mengikut keperluan, membantu menjimatkan memori.
Berikut ialah contoh menggunakan entri():
const arr = ['a', 'b', 'c']; const iterator = arr.entries(); console.log(iterator.next()); // { value: [0, 'a'], done: false } console.log(iterator.next()); // { value: [1, 'b'], done: false } console.log(iterator.next()); // { value: [2, 'c'], done: false } console.log(iterator.next()); // { value: undefined, done: true }
Sejujurnya, saya tidak mengetahui sepenuhnya beberapa butiran dan penggunaan kaedah ini, jadi menangani soalan temu bual ini dan mendalami pemahaman saya adalah agak penting. Sama ada anda menggunakan gelung asas atau teknik pengaturcaraan berfungsi yang lebih maju, mengetahui kaedah ini boleh meningkatkan kecekapan dan kebolehbacaan kod anda dengan ketara.
Atas ialah kandungan terperinci Memahami Kaedah Lelaran Tatasusunan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!