Rumah > hujung hadapan web > tutorial js > Memahami Kaedah Lelaran Tatasusunan JavaScript

Memahami Kaedah Lelaran Tatasusunan JavaScript

王林
Lepaskan: 2024-09-03 14:05:11
asal
846 orang telah melayarinya

Understanding JavaScript Array Iteration Methods

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:

  • Fleksibiliti: Gelung for menawarkan fleksibiliti dengan membenarkan penggunaan putus untuk keluar dari gelung atau terus melangkau ke lelaran seterusnya. Anda juga boleh menentukan indeks secara langsung, memberikan anda kawalan yang tepat ke atas kelakuan gelung.
  • Tertib tidak berurutan: Anda mempunyai kawalan ke atas tertib lelaran dengan melaraskan keadaan gelung, seperti melelaran ke belakang atau melangkau elemen tertentu.

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:

  • Kesederhanaan dan Pengesyoran: Gelung for...of ialah cara yang mudah dan disyorkan untuk mengulang tatasusunan, kerana ia mengendalikan indeks untuk anda secara automatik. Anda masih boleh menggunakan break untuk keluar dari gelung atau terus melangkau ke lelaran seterusnya, berdasarkan nilai dan bukannya indeks.

Bila hendak digunakan:
Apabila anda hanya perlu bekerja dengan nilai dan tidak memerlukan akses kepada indeks.

Array.prototype.map()
Kelebihan:

  • Tidak bermutasi: Tatasusunan asal kekal tidak berubah.
  • Mengembalikan Tatasusunan Baharu: Selepas menggunakan fungsi yang ditentukan pada setiap elemen, map() mengembalikan tatasusunan baharu dengan hasilnya. Ini menjadikannya sesuai untuk pengaturcaraan berfungsi.

Bila hendak digunakan:
Apabila anda ingin menggunakan fungsi pada setiap elemen tatasusunan dan memerlukan hasilnya sebagai tatasusunan baharu.

Array.prototype.forEach()
Kelebihan:

  • Tiada Nilai Pulangan: forEach() membolehkan anda melaksanakan fungsi pada setiap elemen tanpa mengembalikan tatasusunan baharu. Ia sering digunakan untuk melaksanakan kesan sampingan, seperti mengelog, mengemas kini pembolehubah atau memanipulasi DOM.

Bila hendak digunakan:
Apabila anda ingin menggunakan fungsi pada setiap elemen tatasusunan tetapi tidak memerlukan tatasusunan baharu dikembalikan.

Array.prototype.entry()
Kelebihan:

  • Akses kepada Kedua-dua Indeks dan Nilai: entri() mengembalikan iterator yang menyediakan kedua-dua indeks dan nilai setiap elemen. Ini boleh menjadi lebih mudah dan lebih mudah dibaca daripada menggunakan gelung tradisional. Jika slot tatasusunan kosong, ia akan kembali tidak ditentukan untuk nilainya.

Bila hendak digunakan:
Apabila anda perlu mengakses kedua-dua indeks dan nilai elemen tatasusunan.

Array.prototype.keys()
Kelebihan:

  • Akses kepada Indeks: keys() mengembalikan iterator untuk indeks tatasusunan. Ini berguna apabila anda hanya memerlukan indeks dan bukan nilai. Dalam tatasusunan jarang, [...arr.keys()] akan menyertakan indeks untuk slot kosong juga (di mana nilainya tidak ditentukan).

Bila hendak digunakan:
Apabila anda memerlukan iterator yang hanya menyediakan indeks bagi elemen tatasusunan.

Array.prototype.values()
Kelebihan:

  • Akses kepada Nilai: values() mengembalikan iterator untuk nilai tatasusunan. Ini serupa dengan menggunakan for...of dengan tatasusunan tetapi menyediakan lelaran dan bukannya gelung.

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 }
Salin selepas log masuk

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!

sumber:dev.to
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan