Cari Data di Array dengan Fungsi Array IndexOf

Cari Data di Array dengan Fungsi Array IndexOf
Photo by Kelly Sikkema / Unsplash

Ketika bekerja dengan data di JavaScript, sering kali kita perlu mencari posisi suatu elemen dalam array. Misalnya, kamu ingin tahu di mana letak nama "Budi" dalam daftar nama [ "Andi", "Budi", "Citra" ]. Untuk tugas seperti ini, JavaScript menyediakan solusi sederhana dan praktis: Array.indexOf().

Metode indexOf() adalah cara paling mudah untuk mencari posisi suatu elemen dalam array. Yuk, kita bahas cara kerjanya, bagaimana menggunakannya, serta beberapa contoh aplikasinya!

Apa Itu Array.indexOf()?

indexOf() adalah metode bawaan JavaScript yang digunakan untuk mencari indeks (posisi) pertama dari suatu elemen dalam array. Jika elemen ditemukan, metode ini akan mengembalikan indeksnya. Jika tidak ditemukan, hasilnya adalah -1.

Sintaks:

array.indexOf(searchElement, fromIndex);
  • searchElement: Elemen yang ingin dicari.
  • fromIndex (opsional): Posisi awal pencarian dalam array. Jika tidak diisi, pencarian dimulai dari indeks 0.

Contoh Dasar Penggunaan indexOf()

1. Mencari Posisi Elemen

Misalnya, kamu punya array nama dan ingin mencari posisi "Budi".

let nama = ["Andi", "Budi", "Citra"];
let posisi = nama.indexOf("Budi");
console.log(posisi);

Output:

1

Artinya, "Budi" berada di indeks ke-1 dalam array.

2. Elemen Tidak Ditemukan

Jika elemen yang dicari tidak ada dalam array, indexOf() akan mengembalikan -1.

let nama = ["Andi", "Budi", "Citra"];
let posisi = nama.indexOf("Dewi");
console.log(posisi);

Output:

-1

3. Memulai Pencarian dari Indeks Tertentu

Kamu bisa menentukan dari mana pencarian dimulai menggunakan parameter fromIndex.

let angka = [1, 2, 3, 2, 4];
let posisi = angka.indexOf(2, 2); // Mulai pencarian dari indeks ke-2
console.log(posisi);

Output:

3

Studi Kasus Penggunaan indexOf()

1. Memastikan Elemen Ada dalam Array

Gunakan indexOf() untuk mengecek apakah suatu elemen ada dalam array.

let barang = ["Laptop", "Mouse", "Keyboard"];
if (barang.indexOf("Mouse") !== -1) {
    console.log("Barang ditemukan!");
} else {
    console.log("Barang tidak ditemukan.");
}

Output:

Barang ditemukan!

2. Menghapus Elemen dari Array

Gunakan indexOf() untuk menemukan posisi elemen yang akan dihapus, lalu gunakan splice() untuk menghapusnya.

let nama = ["Andi", "Budi", "Citra"];
let index = nama.indexOf("Budi");
if (index !== -1) {
    nama.splice(index, 1);
}
console.log(nama);

Output:

["Andi", "Citra"]

3. Menghitung Kemunculan Elemen

Jika elemen yang sama muncul beberapa kali, kamu bisa menggunakan indexOf() dalam perulangan untuk menghitung jumlah kemunculannya.

let angka = [1, 2, 3, 2, 4, 2];
let target = 2;
let count = 0;
let index = angka.indexOf(target);

while (index !== -1) {
    count++;
    index = angka.indexOf(target, index + 1); // Lanjutkan pencarian
}
console.log(`Angka ${target} muncul sebanyak ${count} kali.`);

Output:

Angka 2 muncul sebanyak 3 kali.

Perbandingan dengan lastIndexOf()

Kalau indexOf() mencari posisi pertama elemen dalam array, lastIndexOf() mencari posisi terakhir elemen.

Contoh:

let angka = [1, 2, 3, 2, 4];
console.log(angka.indexOf(2)); // Output: 1
console.log(angka.lastIndexOf(2)); // Output: 3

Keterbatasan indexOf()

  1. Tidak Mendukung Pencarian Kompleks
    Untuk pencarian pola atau kondisi tertentu, gunakan metode seperti find() atau filter().

Case Sensitive
indexOf() membedakan huruf besar dan kecil.

let nama = ["Andi", "Budi", "Citra"];
console.log(nama.indexOf("budi")); // Output: -1

Tips Menggunakan indexOf()

  1. Gunakan untuk Pencarian Sederhana
    indexOf() cocok untuk pencarian elemen dengan nilai tetap.
  2. Hati-Hati dengan Nilai -1
    Selalu periksa apakah hasilnya -1 untuk memastikan elemen ditemukan.
  3. Pahami Sensitivitas Huruf
    Jika perlu pencarian case-insensitive, ubah string menjadi huruf kecil atau besar dengan .toLowerCase().

Kesimpulan

Fungsi Array.indexOf() adalah alat yang sederhana namun powerful untuk mencari posisi elemen dalam array di JavaScript. Dengan memahami cara kerjanya, kamu bisa menggunakan metode ini untuk berbagai kebutuhan seperti validasi data, penghapusan elemen, atau perhitungan kemunculan.