Cara Kerja Filter dan Parameter dengan Contoh Praktis
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 mengembalikantrue
jika elemen masuk ke array baru danfalse
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:
element
(wajib) - Nilai dari elemen saat ini.index
(opsional) - Posisi indeks elemen dalam array.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!