Cara Kerja Filter dan Parameter dengan Contoh Praktis

Cara Kerja Filter dan Parameter dengan Contoh Praktis
Photo by Mohammad Rahmani / Unsplash

Memahami Filter dalam JavaScript

filter() adalah salah satu metode array di JavaScript yang digunakan untuk menyaring elemen berdasarkan kondisi tertentu. Metode ini sangat berguna karena mengembalikan array baru berisi elemen-elemen yang lolos dari filter yang diberikan tanpa mengubah array asli.

Sintaks Dasar filter()

const hasil = array.filter(callbackFunction);
  • array: Array yang akan difilter.
  • callbackFunction: Fungsi yang dijalankan pada setiap elemen array. Harus mengembalikan true jika elemen masuk ke array baru dan false jika tidak.

Contoh Sederhana

Misalnya, kita ingin mengambil angka yang lebih besar dari 5 dari sebuah array:

const angka = [2, 4, 6, 8, 10];
const lebihDariLima = angka.filter(num => num > 5);
console.log(lebihDariLima); // Output: [6, 8, 10]

Memahami Parameter dalam Filter

Fungsi callback dalam filter() menerima tiga parameter:

  1. element (wajib) - Nilai dari elemen saat ini.
  2. index (opsional) - Posisi indeks elemen dalam array.
  3. array (opsional) - Array asli tempat elemen berada.

Contoh Penggunaan Semua Parameter

const angka = [10, 15, 20, 25];
const genapDenganIndex = angka.filter((num, index) => {
  console.log(`Index ${index}: ${num}`);
  return num % 2 === 0;
});
console.log(genapDenganIndex); // Output: [10, 20]

Pada contoh ini, kita juga mencetak indeks setiap elemen saat proses filter berlangsung.

Contoh Praktis Filter dalam Berbagai Kasus

1. Memfilter Data Berdasarkan Kondisi Tertentu

Misalkan kita punya daftar produk dan ingin menyaring hanya produk dengan harga lebih dari 100 ribu.

const produk = [
  { nama: "Laptop", harga: 1200000 },
  { nama: "Mouse", harga: 200000 },
  { nama: "Buku", harga: 50000 }
];
const produkMahal = produk.filter(item => item.harga > 100000);
console.log(produkMahal);
// Output: [{ nama: "Laptop", harga: 1200000 }, { nama: "Mouse", harga: 200000 }]

2. Memfilter Nama Berdasarkan Huruf Tertentu

Misalnya kita ingin mendapatkan nama yang diawali dengan huruf "A":

const nama = ["Aldi", "Budi", "Andi", "Citra"];
const namaA = nama.filter(n => n.startsWith("A"));
console.log(namaA); // Output: ["Aldi", "Andi"]

3. Memfilter Data Berdasarkan Kategori

Misalnya kita memiliki daftar pengguna dengan peran (role) yang berbeda dan ingin menampilkan hanya pengguna dengan peran "admin":

const users = [
  { nama: "Rina", role: "admin" },
  { nama: "Satria", role: "user" },
  { nama: "Dewi", role: "admin" }
];
const adminUsers = users.filter(user => user.role === "admin");
console.log(adminUsers);
// Output: [{ nama: "Rina", role: "admin" }, { nama: "Dewi", role: "admin" }]

Kesimpulan

  • filter() digunakan untuk menyaring elemen dalam array berdasarkan kondisi tertentu.
  • Callback function dalam filter() bisa menerima 3 parameter: elemen saat ini, indeks, dan array asli.
  • filter() sangat berguna dalam berbagai kasus seperti memfilter angka, nama, atau objek dalam array.

Sekarang kamu sudah tahu cara kerja filter() dan bagaimana menggunakannya dalam berbagai skenario. Coba terapkan dalam kode kamu sendiri!