Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana Mencari Semua Indeks Unsur dalam Tatasusunan JavaScript?

Bagaimana Mencari Semua Indeks Unsur dalam Tatasusunan JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 00:26:02196semak imbas

How to Find All Indexes of an Element in a JavaScript Array?

Cara Mendapatkan Indeks Kejadian Unsur dalam Tatasusunan

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.

Menggunakan Gelung dan .indexOf()

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.

Menggunakan Standard Untuk Gelung

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.

Contoh Penggunaan

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!

Kenyataan:
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