Метод filter

filter методаси массив элементларини фильтрлаб, фақат муайян шартга мос келадиган элементларни колдириш имконини беради. Метод параметр сифатида хар бир массив элементи учун ишлайдиган функцияни олади. Метод ўзининг натижаси сифатида янги массивни кайтаради, унга фақат узатилган функция true кайтарган элементлар киради.

Функцияга учта параметр узатиш мумкин. Aгар бу параметрлар мавжуд бўлса (улар мажбурий эмас), у холда биринчисига автомат тарзида массив элементи, иккинчисига унинг массивдаги номери (индекс), учинчисига эса массивнинг ўзи тушади.

Синтаксис

javascriptlet янги массив = массив.filter(function(элемент, индекс, массив) {
  код
  return true ёки false
});

Мисол

{Kелинг, массивни фильтрлаб, унда фақат мусбат сонлар колдирайлик:}

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

Кодни ишга тушириш натижаси:

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

Мисол

Кодни қисқартамириб, стрелка функциядан фойдаланамиз:

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

Кодни ишга тушириш натижаси:

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

Мисол

Кодни қисқартамириб, логик амалларни қисқартмасидан фойдаланамиз:

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

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

console.log(res);

Кодни ишга тушириш натижаси:

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

Мисол

Кодни қисқартамириб, стрелка функцияларнинг хусусиятларидан фойдаланамиз:

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

console.log(res);

Кодни ишга тушириш натижаси:

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

Мисол

Зарурат бўлган тақдирда учинчи параметрга массивнинг ўзини узатиш мумкин:

javascriptlet res = arr.filter(function(elem, index, arr) {
  бу ерда arr массивига доступ бўлади
});

Шунингдек қаранг

  • map ва forEach методлари,
    улар массивнинг хар бир элементига функцияни қўллаш имконини беради
  • some ва every методлари,
    массивни текширишни бажарадилар
  • reduce ва reduceRight методлари,
    массивни бир қийматга йиғадилар