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
let 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:
let 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:
[5, 1, 1, 3, 4]
Contoh
Mari persingkat kodenya dengan memanfaatkan fungsi panah:
let 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:
[5, 1, 1, 3, 4]
Contoh
Mari persingkat kodenya dengan memanfaatkan penyingkatan operasi logika:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Hasil eksekusi kode:
[5, 1, 1, 3, 4]
Contoh
Mari persingkat kodenya dengan memanfaatkan karakteristik fungsi panah:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Hasil eksekusi kode:
[5, 1, 1, 3, 4]
Contoh
Jika diperlukan, array itu sendiri dapat diteruskan ke parameter ketiga:
let res = arr.filter(function(elem, index, arr) {
array arr akan dapat diakses di sini
});