Методот filter

Методот filter овозможува филтрирање на елементи од низа, оставајќи ги само оние кои одговараат на одреден услов. Методот како параметар добива функција, која ќе се изврши за секој елемент од низата. Како резултат методот враќа нова низа, во која ќе влезат само оние елементи, за кои дадената функција ќе врати true.

Во функцијата може да се пренесат три параметри. Ако овие параметри постојат (тие не се задолжителни), тогаш во првиот автоматски ќе се најде елементот од низата, во вториот ќе се најде неговиот број во низата (индекс), а во третиот - самата низа.

Синтакса

javascriptlet nova niza = niza.filter(function(element, indeks, niza) {
  kod
  return true ili false
});

Пример

Да ја филтрираме низата, оставајќи во неа само позитивни броеви:

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]

Пример

Да го скратиме кодот, користејќи arrow функција:

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]

Пример

Да го скратиме кодот, користејќи карактеристики на arrow функциите:

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,
    кои ја сведуваат низата на една вредност