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

javascriptlet arrayBaru = array.filter(function(elemen, indeks, array) {
  kod
  return true atau false
});

Contoh

Mari tapis array, hanya meninggalkan nombor 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);

Keputusan pelaksanaan kod:

javascript[5, 1, 1, 3, 4]

Contoh

Mari pendekkan kod dengan menggunakan fungsi anak 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);

Keputusan pelaksanaan kod:

javascript[5, 1, 1, 3, 4]

Contoh

Mari pendekkan kod dengan menggunakan penyingkatan operasi logik:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(elem => {
  return elem >= 0;
});

console.log(res);

Keputusan pelaksanaan kod:

javascript[5, 1, 1, 3, 4]

Contoh

Mari pendekkan kod dengan menggunakan ciri-ciri fungsi anak panah:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);

console.log(res);

Keputusan pelaksanaan kod:

javascript[5, 1, 1, 3, 4]

Contoh

Sekiranya perlu, parameter ketiga boleh menghantar array itu sendiri:

javascriptlet res = arr.filter(function(elem, index, arr) {
  array arr akan boleh diakses di sini
});

Lihat juga

  • kaedah map dan forEach,
    yang membolehkan penggunaan fungsi untuk setiap elemen array
  • kaedah some dan every,
    yang melakukan pengesahan array
  • kaedah reduce dan reduceRight,
    yang meringkaskan array kepada satu nilai