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
});

Lihat juga

  • metode map dan forEach,
    yang memungkinkan menerapkan fungsi ke setiap elemen array
  • metode some dan every,
    yang melakukan pemeriksaan array
  • metode reduce dan reduceRight,
    yang mereduksi array menjadi satu nilai