Функция фильтра в Javascript позволяет перебирать массив и создавать новый массив со значениями, которые соответствуют условию.
Числа
Этот фрагмент берет массив целых чисел и создает новый массив, содержащий только значения меньше 4.
let array = [1, 2, 3, 4, 5, 6]
let newArray = array.filter((val) => { return val < 4 })
console.log(newArray)
// [1, 2, 3]
Прелесть фильтра с ES6 в том, что вы можете создать однострочную функцию, которая делает то же самое, что и выше!
let array = [1, 2, 3, 4, 5, 6]
let newArray = array.filter((val) => val < 4)
Объекты
Это берет массив объектов и создает новый массив, содержащий только объекты с тегом «статья».
let array = [ { tag: 'article', name: 'a great new article!' }, { tag: 'article', name: 'another article' }, { tag: 'note', name: 'remember to do the shopping' }, { tag: 'note', name: 'buy mario kart' }, { tag: 'article', name: 'how to write a fake article name' } ]
let newArray = array.filter((val) => { if(val.tag === 'article') { return val } })
console.log(newArray)
// [ { tag: 'article', name: 'a great new article!' }, // { tag: 'article', name: 'another article' }, // { tag: 'article', name: 'how to write a fake article name' }