Kaedah filter
Kaedah filter membolehkan penapisan
elemen array, hanya meninggalkan elemen-elemen
yang memenuhi syarat tertentu.
Kaedah ini menerima fungsi sebagai parameter, yang
akan dilaksanakan untuk setiap elemen array.
Kaedah ini mengembalikan array baru,
yang hanya mengandungi elemen-elemen
yang mana fungsi yang diberikan mengembalikan true.
Tiga parameter boleh diberikan kepada fungsi. Jika parameter ini wujud (mereka tidak wajib), maka yang pertama secara automatik akan menerima elemen array, yang kedua akan menerima nombornya dalam array (indeks), dan yang ketiga - array itu sendiri.
Sintaks
let arrayBaru = array.filter(function(elemen, indeks, array) {
kod
return true atau false
});
Contoh
Mari tapis array, hanya meninggalkan nombor 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);
Keputusan pelaksanaan kod:
[5, 1, 1, 3, 4]
Contoh
Mari pendekkan kod dengan menggunakan fungsi anak 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);
Keputusan pelaksanaan kod:
[5, 1, 1, 3, 4]
Contoh
Mari pendekkan kod dengan menggunakan penyingkatan operasi logik:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Keputusan pelaksanaan kod:
[5, 1, 1, 3, 4]
Contoh
Mari pendekkan kod dengan menggunakan ciri-ciri fungsi anak panah:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Keputusan pelaksanaan kod:
[5, 1, 1, 3, 4]
Contoh
Sekiranya perlu, parameter ketiga boleh menghantar array itu sendiri:
let res = arr.filter(function(elem, index, arr) {
array arr akan boleh diakses di sini
});