Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
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,
    якія згортваюць масіў да аднаго значэння
byenru