Metode filter
Metode filter memungkinkan untuk menyaring
elemen array, hanya menyisakan elemen-elemen yang
memenuhi kondisi tertentu.
Metode ini menerima sebuah fungsi sebagai parameter, yang
akan dieksekusi untuk setiap elemen array.
Metode ini mengembalikan array baru
sebagai hasilnya, yang hanya akan berisi elemen-elemen
yang membuat fungsi yang diteruskan mengembalikan true.
Tiga parameter dapat diteruskan ke fungsi tersebut. Jika parameter-parameter ini ada (tidak wajib), maka secara otomatis parameter pertama akan berisi elemen array, parameter kedua akan berisi nomornya dalam array (indeks), dan parameter ketiga - array itu sendiri.
Sintaksis
javascriptlet arrayBaru = array.filter(function(elemen, indeks, array) {
kode
return true atau false
});
Contoh
Mari kita saring sebuah array, hanya menyisakan angka-angka positif di dalamnya:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Hasil eksekusi kode:
javascript[5, 1, 1, 3, 4]
Contoh
Mari persingkat kodenya dengan memanfaatkan fungsi panah:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Hasil eksekusi kode:
javascript[5, 1, 1, 3, 4]
Contoh
Mari persingkat kodenya dengan memanfaatkan penyingkatan operasi logika:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Hasil eksekusi kode:
javascript[5, 1, 1, 3, 4]
Contoh
Mari persingkat kodenya dengan memanfaatkan karakteristik fungsi panah:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Hasil eksekusi kode:
javascript[5, 1, 1, 3, 4]
Contoh
Jika diperlukan, array itu sendiri dapat diteruskan ke parameter ketiga:
javascriptlet res = arr.filter(function(elem, index, arr) {
array arr akan dapat diakses di sini
});