Mengenal pasti indeks semua kejadian unsur dalam tatasusunan ialah tugas pengaturcaraan biasa. Dalam JavaScript, tatasusunan menawarkan kaedah seperti .indexOf() dan .includes(), tetapi ia hanya mengembalikan kejadian pertama atau terakhir. Untuk mendapatkan indeks bagi semua keadaan, pendekatan berbeza diperlukan.
Satu kaedah yang berkesan melibatkan pemeriksaan berulang untuk kejadian unsur menggunakan .indexOf(). Fungsi berikut menunjukkan pendekatan ini:
<code class="js">function getAllIndexes(arr, val) { var indexes = [], i = -1; while ((i = arr.indexOf(val, i + 1)) != -1) { indexes.push(i); } return indexes; }</code>
Dalam fungsi ini, kaedah .indexOf() berulang kali dipanggil dengan indeks permulaan yang semakin meningkat. Setiap kali ia menemui tika nilai yang diberikan, indeks yang sepadan ditambah pada tatasusunan indeks.
Kaedah lain yang cekap ialah gelung mudah:
<code class="js">function getAllIndexes(arr, val) { var indexes = [], i; for (i = 0; i < arr.length; i++) { if (arr[i] === val) { indexes.push(i); } } return indexes; }</code>
Ini untuk gelung berulang melalui tatasusunan, membandingkan setiap elemen dengan nilai yang ditentukan. Apabila padanan ditemui, gelung menambah indeksnya pada tatasusunan indeks.
Kedua-dua pendekatan ini boleh digunakan untuk mencari indeks semua kejadian unsur "Nano" dalam tatasusunan Kereta:
<code class="js">var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"]; var indexes = getAllIndexes(Cars, "Nano");</code>
Pembolehubah indeks kini akan mengandungi tatasusunan yang mengandungi indeks semua tika "Nano" dalam tatasusunan Kereta: [0, 3, 5].
Atas ialah kandungan terperinci Bagaimana Mencari Semua Indeks Unsur dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!