Metod filter

filter metodi massiv elementlarini filtrlashga, faqat ma'lum bir shartga mos keladigan elementlarni qoldirishga imkon beradi. Metod parametr sifatida funksiyani qabul qiladi, u har bir massiv elementi uchun bajariladi. Metod o'z natijasi sifatida yangi massivni qaytaradi, unga faqat berilgan funksiya true qaytaradigan elementlar kiritiladi.

Funksiyaga uchta parametr berish mumkin. Agar bu parametrlar mavjud bo'lsa (ular majburiy emas), unda birinchisiga avtomatik ravishda massiv elementi tushadi, ikkinchisiga uning massivdagi raqami (indeks), uchinchisiga esa - massivning o'zi.

Sintaksis

javascriptlet yangi massiv = massiv.filter(function(element, indeks, massiv) {
  kod
  return true yoki false
});

Misol

Keling, massivni filtrlaymiz, unda faqat musbat sonlarni qoldiramiz:

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

Kod bajarilishi natijasi:

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

Misol

Kodni qisqartiramiz, foydalanib o'q funksiyasi:

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

Kod bajarilishi natijasi:

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

Misol

Kodni qisqartiramiz, foydalanib mantiqiy amallarning qisqartirilishi:

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

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

console.log(res);

Kod bajarilishi natijasi:

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

Misol

Kodni qisqartiramiz, foydalanib o'q funksiyalarining xususiyatlari:

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

console.log(res);

Kod bajarilishi natijasi:

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

Misol

Agar kerak bo'lsa, uchinchi parametrga massivning o'zini berish mumkin:

javascriptlet res = arr.filter(function(elem, index, arr) {
  bu yerda arr massivi mavjud bo'ladi
});

Shuningdek qarang

  • map va forEach metodlari,
    ular massivning har bir elementiga funksiyani qo'llash imkonini beradi
  • some va every metodlari,
    massivni tekshirishni bajaradi
  • reduce va reduceRight metodlari,
    massivni bitta qiymatga yig'adi