105 of 264 menu

Метод filter

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

Функцији се могу проследити три параметра. Ако ови параметри постоје (нису обавезни), тада у први аутоматски долази елемент низе, у други долази његов број у низу (индекс), а у трећи - сама низа.

Синтакса

let нови низ = низ.filter(function(елемент, индекс, низ) { код return true или false });

Пример

Хајде да филтрирамо низ, оставивши у њему само позитивне бројеве:

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

Резултат извршавања кода:

[5, 1, 1, 3, 4]

Пример

Скратимо код, користећи стреличасту функцију:

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

Резултат извршавања кода:

[5, 1, 1, 3, 4]

Пример

Скратимо код, користећи скраћивање логичких операција:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { return elem >= 0; }); console.log(res);

Резултат извршавања кода:

[5, 1, 1, 3, 4]

Пример

Скратимо код, користећи особине стреличастих функција:

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

Резултат извршавања кода:

[5, 1, 1, 3, 4]

Пример

По потреби у трећи параметар се може проследити сама низа:

let res = arr.filter(function(elem, index, arr) { овде ће бити доступна низа arr });

Погледајте такође

  • методе map и forEach,
    које омогућавају примену функције на сваки елемент низе
  • методе some и every,
    које врше проверу низе
  • методе reduce и reduceRight,
    које сабијају низ на једну вредност
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј