Saat Anda melihat beberapa opsi tersedia saat berbelanja online, dan Anda ingin mempersempit hasil pencarian; . Seperti namanya, metode filter akan memfilter elemen array berdasarkan kondisi pengujian yang ditentukan. Ini akan mengulangi semua elemen dan menyiratkan kondisi pengujian pada mereka. Ini kemudian akan mengembalikan array elemen baru yang akan melewati kondisi tersebut
Dasar hingga Mahir - Pelajari Semuanya
Caltech PGP Full Stack Development Jelajahi ProgramSintaks dan Nilai Parameter JavaScript Array Filter()
Sintaks filter array dalam JavaScript adalah
Himpunan. filter(callbackFn(item, indeks, larik), thisArg)
Dalam sintaks di atas
- panggilan balikFn. Ini adalah parameter wajib yang menyimpan fungsi callback yang seharusnya diimplementasikan pada setiap elemen
- Barang. Ini adalah parameter wajib yang menampung elemen saat ini yang sedang diproses
- Indeks. Ini adalah parameter opsional yang menyimpan nilai indeks elemen yang sedang diproses dengan indeks mulai dari 0
- Himpunan. Ini adalah parameter opsional yang menampung array asli tempat metode filter dipanggil
- Arg ini. Ini adalah parameter opsional yang, ketika diteruskan, akan menyimpan nilai "ini" untuk setiap pemanggilan. Jika argumen tidak diberikan, undefined akan digunakan sebagai nilai default untuk kata kunci ini
Nilai pengembalian. Metode filter larik JavaScript mengembalikan metode baru dengan hanya elemen yang telah lulus kondisi pengujian
Bagaimana JavaScript Array Filter() Bekerja?
Pertimbangkan contoh yang diberikan di bawah ini untuk memahami cara kerja filter array dalam JavaScript. Dalam contoh ini, kita akan membuat array dengan nilai integer. Selanjutnya, kita akan menggunakan metode array filter() untuk memfilter bilangan genap dan mencatat array yang dihasilkan ke konsol
misalkan bilangan = [3, 6, 7, 12, 18, 23, 44, 62, 81];
biarkan even_num = num. filter(fungsi(item){
pengembalian barang % 2 == 0;
menghibur. log(angka_genap);
Keluaran
Seperti yang Anda lihat di output, metode filter array hanya menambahkan elemen genap dari array num ke array even_num yang baru. Sekarang, mari kita pahami cara kerjanya langkah demi langkah
- Metode filter dideklarasikan dengan kondisi pengujian mengembalikan item % 2 == 0
- Ini akan mulai mengulang melalui elemen array num dan lulus kondisi pengujian
- Jika sisa item dibagi 2 adalah 0, item tersebut akan ditambahkan ke array even_num baru
- Setelah iterasi melalui semua elemen, itu akan mencatat array even_num yang dihasilkan ke konsol
Pelajari Seluk Beluk Pengembangan Perangkat Lunak
Kamp Pelatihan Coding Caltech Jelajahi ProgramFilter Larik JavaScript(). Contoh
Mari kita lihat beberapa contoh filter array di JavaScript untuk memahami konsepnya dengan lebih baik
Contoh 1. Menggunakan Filter Array Dalam JavaScript Dengan Fungsi Panah
Kita dapat menggunakan filter array dalam JavaScript untuk membuat kode lebih pendek dan lebih mudah dipahami. Dalam contoh di bawah ini, kita akan membuat larik objek orang dan memfilter objek dengan usia lebih dari 18 tahun
biarkan orang = [
{nama. 'Rachel', usia. 24},
{nama. 'David', usia. 16},
{nama. 'Aakash', usia. 23},
{nama. 'Franklin', usia. 26},
{nama. 'Ricky', umur. 17}
];
biarkan orang dewasa = orang. filter(besar => besar. usia >= 18);
menghibur. log(dewasa);
Keluaran
Contoh 2. Memfilter Bilangan Prima Menggunakan Filter Array Di JavaScript
Sampai saat ini, kita telah melihat contoh di mana kita mendefinisikan sebuah fungsi sambil mendeklarasikan array. metode penyaringan. Kali ini, kita akan mendefinisikan fungsi terlebih dahulu dan kemudian menggunakannya dengan metode filter untuk memfilter hanya bilangan prima ke array baru
const myArray = [-5, -4, 1, 3, 7, 12, 13, 15, 17, 21, 23, 25, 27, 30];
fungsi findPrime(item){
for (misalkan x = 2; item > x; x++) {
jika (barang % x == 0) {
kembali salah;
}
}
mengembalikan barang > 1;
}
menghibur. log(myArray. filter(findPrime));
Keluaran
Contoh 3. Memfilter Nilai Dalam Rentang Menggunakan Filter Array Dalam JavaScript
Untuk contoh ini, kami akan mendeklarasikan array dari elemen yang berbeda dan kemudian memfilter hanya item numerik dalam rentang yang diberikan
fungsi dalamRange(item) {
jika (jenis item. == 'angka') {
kembali salah;
}
kembalikan barang >= ini. minRange && item