Empat Cara Berbeda untuk Mencari Array di JavaScript

Ada berbagai metode dalam JavaScript yang dapat Anda gunakan untuk mencari item dalam larik. Metode mana yang Anda pilih bergantung pada kasus penggunaan spesifik Anda.

Misalnya, apakah Anda ingin mendapatkan semua item dalam larik yang memenuhi kondisi tertentu? Apakah Anda ingin memeriksa apakah ada barang yang memenuhi syarat? Apakah Anda ingin memeriksa apakah ada nilai tertentu dalam larik? Atau apakah Anda ingin mencari indeks nilai dalam larik?

Untuk semua kasus penggunaan ini, metode Array.protype JavaScript telah Anda bahas. Pada artikel ini, kita akan membahas empat metode yang dapat kita gunakan untuk mencari item dalam sebuah array. Metode tersebut adalah:

  1. Saring
  2. Temukan
  3. Termasuk
  4. Indeks

Mari kita bahas masing-masing.

Array.filter ()

Kita bisa menggunakan metode Array.filter () untuk menemukan elemen dalam larik yang memenuhi kondisi tertentu. Misalnya, jika kita ingin mendapatkan semua item dalam larik angka yang lebih besar dari 10, kita bisa melakukan ini:

const array = [10, 11, 3, 20, 5]; const greaterThanTen = array.filter(element => element > 10); console.log(greaterThanTen) //[11, 20]

Sintaks untuk menggunakan metode array.filter () adalah sebagai berikut:

let newArray = array.filter(callback);

dimana

  • newArray adalah larik baru yang dikembalikan
  • array adalah larik di mana metode filter dipanggil
  • callback adalah fungsi panggilan balik yang diterapkan ke setiap elemen larik

Jika tidak ada item dalam larik yang memenuhi syarat, larik kosong akan dikembalikan. Anda dapat membaca lebih lanjut tentang metode ini di sini.

Ada kalanya kita tidak membutuhkan semua elemen yang memenuhi syarat tertentu. Kami hanya membutuhkan satu elemen yang sesuai dengan kondisi. Dalam hal ini, Anda memerlukan metode find ().

Array.find ()

Kami menggunakan metode Array.find () untuk menemukan elemen pertama yang memenuhi kondisi tertentu. Sama seperti metode filter, metode ini mengambil callback sebagai argumen dan mengembalikan elemen pertama yang memenuhi kondisi callback.

Mari gunakan metode find pada array dalam contoh di atas.

const array = [10, 11, 3, 20, 5]; const greaterThanTen = array.find(element => element > 10); console.log(greaterThanTen)//11

Sintaks untuk array.find () adalah

let element = array.find(callback);

Callback adalah fungsi yang dijalankan pada setiap nilai dalam larik dan mengambil tiga argumen:

  • element - elemen yang diiterasi (wajib)
  • index - indeks / posisi elemen saat ini (opsional)
  • array- array yang finddipanggil (opsional)

Namun, perhatikan bahwa jika tidak ada item dalam larik yang memenuhi ketentuan, ia mengembalikan undefined.

Namun, bagaimana jika Anda ingin memeriksa apakah elemen tertentu ada dalam array? Bagaimana kamu melakukan ini?

Array.includes ()

Metode include () menentukan apakah sebuah array menyertakan nilai tertentu dan mengembalikan true atau false sebagaimana mestinya.

Jadi pada contoh di atas, jika kita ingin memeriksa apakah 20 adalah salah satu elemen dalam array, kita bisa melakukan ini:

const array = [10, 11, 3, 20, 5]; const includesTwenty = array.includes(20); console.log(includesTwenty)//true

Anda akan melihat perbedaan antara metode ini dan metode lain yang telah kami pertimbangkan. Metode ini menerima nilai daripada callback sebagai argumen. Berikut sintaks untuk metode include:

const includesValue = array.includes(valueToFind, fromIndex)

Dimana

  • valueToFind adalah nilai yang Anda periksa dalam larik (wajib), dan
  • fromIndex adalah indeks atau posisi dalam larik tempat Anda ingin mulai mencari elemennya (opsional)

Untuk mendapatkan konsep indeks, mari kunjungi contoh kita lagi. Jika kita ingin memeriksa apakah array berisi 10 di posisi lain selain elemen pertama, kita bisa melakukan ini:

const array = [10, 11, 3, 20, 5]; const includesTenTwice = array.includes(10, 1); console.log(includesTenTwice)//false

Array.indexOf ()

Metode indexOf () mengembalikan indeks pertama di mana elemen tertentu dapat ditemukan dalam larik. Ia mengembalikan -1 jika elemen tidak ada dalam array.

Mari kembali ke contoh kita. Mari cari indeks 3 dalam array.

const array = [10, 11, 3, 20, 5]; const indexOfThree = array.indexOf(3); console.log(indexOfThree)//2

Sintaksnya mirip dengan includesmetode.

const indexOfElement = array.indexOf(element, fromIndex)

Dimana

  • element adalah elemen yang Anda periksa dalam array (wajib), dan
  • fromIndex adalah indeks atau posisi dalam larik tempat Anda ingin mulai mencari elemennya (opsional)

Penting untuk diperhatikan bahwa kedua metode includesdan indexOfmenggunakan persamaan ketat ('===') untuk mencari array. Jika nilainya berbeda jenis (misalnya '4' dan 4), mereka akan kembali falsedan -1masing - masing.

Ringkasan

Dengan metode array ini, Anda tidak perlu menggunakan loop for untuk mencari array. Bergantung pada apa yang Anda butuhkan, Anda dapat memutuskan metode mana yang paling cocok untuk kasus penggunaan Anda.

Berikut adalah ringkasan kapan harus menggunakan setiap metode:

  • Gunakan filterjika Anda ingin menemukan semua item dalam larik yang memenuhi kondisi tertentu.
  • Gunakan findjika Anda ingin memeriksa apakah setidaknya satu item memenuhi kondisi tertentu.
  • Gunakan includesjika Anda ingin memeriksa apakah sebuah larik berisi nilai tertentu.
  • Gunakan indexOfjika Anda ingin menemukan indeks item tertentu dalam larik.

Ingin diberi tahu saat saya menerbitkan artikel baru? Klik disini.