Ada yang Cocok? Pakai some() buat Validasi Cepat

Ada yang Cocok? Pakai some() buat Validasi Cepat
Photo by AltumCode / Unsplash

Pernah nggak sih, kamu kerja dengan array dan cuma mau ngecek apakah ada SATU elemen yang memenuhi kondisi tertentu? Misalnya, cari tahu apakah ada angka ganjil dalam array, apakah ada produk yang diskon, atau ada user yang belum verifikasi. Kalau iya, some() adalah solusi yang kamu cari! 😎

Metode some() di JavaScript adalah cara tercepat buat ngecek apakah ada minimal satu elemen dalam array yang sesuai dengan kondisi tertentu. Kalau ada, bakal langsung return true, kalau nggak ada sama sekali, bakal return false.

Mari kita bahas gimana cara pakai some() dan gimana metode ini bikin kode jadi lebih rapi dan efisien! 🔥

Apa Itu some()?

some() adalah metode array di JavaScript yang digunakan buat ngecek apakah minimal satu elemen dalam array memenuhi syarat yang kita tentukan.

Sintaks Dasar:

array.some(function(element, index, array) {
  return kondisi;
});

Parameter yang Bisa Dipakai:

  • element → Elemen array yang sedang diperiksa. (Wajib)
  • index → Indeks dari elemen dalam array. (Opsional)
  • array → Array yang sedang diperiksa. (Opsional)

Return Value:

  • true → Jika minimal satu elemen dalam array memenuhi kondisi.
  • false → Jika tidak ada elemen yang memenuhi kondisi.

Contoh Penggunaan some()

1. Cek Apakah Ada Angka Ganjil dalam Array

Misalnya kita punya daftar angka dan mau ngecek apakah ada minimal satu angka ganjil.

let angka = [2, 4, 6, 8, 9, 10];

let adaGanjil = angka.some(num => num % 2 !== 0);

console.log(adaGanjil);

Output:

true

Karena ada angka 9 yang ganjil, maka hasilnya true.

Tapi kalau semua angkanya genap:

let angka = [2, 4, 6, 8, 10];

let adaGanjil = angka.some(num => num % 2 !== 0);

console.log(adaGanjil);

Output:

false

Karena tidak ada angka ganjil, maka hasilnya false.

2. Cek Apakah Ada Produk yang Diskon

Misalnya kita punya daftar produk dan mau tau apakah ada minimal satu produk yang diskon.

let produk = [
  { nama: "Laptop", diskon: false },
  { nama: "Mouse", diskon: true },
  { nama: "Keyboard", diskon: false }
];

let adaDiskon = produk.some(item => item.diskon);

console.log(adaDiskon);

Output:

true

Karena ada Mouse yang diskon, maka hasilnya true.

Tapi kalau semua produk nggak ada diskon:

let produk = [
  { nama: "Laptop", diskon: false },
  { nama: "Mouse", diskon: false },
  { nama: "Keyboard", diskon: false }
];

let adaDiskon = produk.some(item => item.diskon);

console.log(adaDiskon);

Output:

false

Karena tidak ada produk yang diskon, maka hasilnya false.

3. Cek Apakah Ada User yang Belum Verifikasi

Misalnya kita punya daftar user dan mau ngecek apakah ada minimal satu user yang belum verifikasi.

let users = [
  { nama: "Andi", verified: true },
  { nama: "Budi", verified: false },
  { nama: "Citra", verified: true }
];

let adaBelumVerified = users.some(user => !user.verified);

console.log(adaBelumVerified);

Output:

true

Karena Budi belum verified, maka hasilnya true.

Tapi kalau semua user sudah verified:

let users = [
  { nama: "Andi", verified: true },
  { nama: "Budi", verified: true },
  { nama: "Citra", verified: true }
];

let adaBelumVerified = users.some(user => !user.verified);

console.log(adaBelumVerified);

Output:

false

Karena semua user sudah verified, maka hasilnya false.

4. Cek Apakah Ada Kata dengan Panjang Lebih dari 10 Huruf

Misalnya kita punya daftar kata dan mau tau apakah ada minimal satu kata yang lebih dari 10 huruf.

let kata = ["Mobil", "Rumah", "Superkalifragilistis"];

let adaPanjang = kata.some(k => k.length > 10);

console.log(adaPanjang);

Output:

true

Karena ada "Superkalifragilistis" yang lebih dari 10 huruf, maka hasilnya true.

Perbedaan every() vs some()

Metode Mengembalikan true jika...
every() SEMUA elemen dalam array memenuhi kondisi
some() MINIMAL SATU elemen dalam array memenuhi kondisi

Jadi, pakai every() kalau butuh semua elemen lolos dan pakai some() kalau cukup ada satu yang lolos.

Kapan Sebaiknya Pakai some()?

  • Kalau cuma mau tau apakah ada elemen yang memenuhi kondisi tertentu.
  • Kalau butuh validasi cepat tanpa harus nge-loop semua elemen.
  • Kalau butuh hasil true atau false, bukan array baru.

Kapan Jangan Pakai some()?

  • Kalau butuh semua elemen memenuhi syarat, lebih baik pakai every().
  • Kalau butuh array baru dengan elemen yang lolos filter, lebih baik pakai filter().
  • Kalau butuh satu elemen pertama yang memenuhi syarat, lebih baik pakai find().

Kesimpulan

  • some() digunakan buat ngecek apakah minimal satu elemen dalam array memenuhi kondisi tertentu.
  • Mengembalikan true kalau ada yang cocok, dan false kalau nggak ada.
  • Bisa dipakai buat validasi cepat tanpa nge-loop semua elemen.
  • Cocok buat cek angka, status user, harga produk, atau syarat lainnya.
  • Alternatif yang lebih rapi dibanding pakai for manual.