Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencari Semua Kejadian Elemen dalam Tatasusunan JavaScript?
Apabila cuba mencari kedudukan berbilang kejadian elemen, seperti "Nano," dalam tatasusunan JavaScript, kaedah seperti jQuery.inArray atau .indexOf() gagal kerana mereka hanya mengenal pasti kejadian terakhir.
var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"];
Ini penyelesaiannya:
Kaedah .indexOf() membenarkan untuk menentukan indeks permulaan , membolehkan anda mengulang tatasusunan dan menentukan semua kejadian nilai yang ditentukan.
<code class="javascript">function getAllIndexes(arr, val) { var indexes = [], i = -1; while ((i = arr.indexOf(val, i + 1)) != -1) { indexes.push(i); } return indexes; } var indexes = getAllIndexes(Cars, "Nano");</code>
Walau bagaimanapun, seperti yang ditunjukkan oleh VisioN dalam ulasan, gelung mudah untuk menawarkan penyelesaian yang lebih cekap dan ringkas:
<code class="javascript">function getAllIndexes(arr, val) { var indexes = [], i; for (i = 0; i < arr.length; i++) { if (arr[i] === val) { indexes.push(i); } } return indexes; }</code>
Atas ialah kandungan terperinci Bagaimana untuk Mencari Semua Kejadian Elemen dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!