Фильтр массива Javascript: как фильтровать массив в JavaScript

Метод JavaScript filter () принимает аргумент как функцию, и эта функция выполняется для каждого элемента массива и возвращает значения, которые приводят к истинному значению. Элементы массива, не прошедшие проверку обратного вызова, просто пропускаются и не включаются в новый массив.

Метод filter () является чистой функцией и не изменяет исходный массив, вместо этого он возвращает новый массив, который удовлетворяет требованиям предоставленной функции в аргументе.

Javascript Array Filter ()

Javascript array filter () — это встроенная функция, которая создает новый массив со всеми элементами, прошедшими проверку, реализованную предоставленной функцией. Метод filter () создает массив со всеми элементами массива, которые проходят через предоставленную функцию. Javascript filter () не выполняет функцию для элементов массива без каких-либо значений.

 let newArray = array.filter (function (item) {return condition;}); 

Параметры

Аргумент item — это ссылка на текущий элемент в массиве, поскольку filter () проверяет его на соответствие условию. Это полезно для доступа к свойствам в случае объектов.

Если текущий элемент соответствует условию, он помещает его в новый массив.

Помимо отдельного элемента массива, обратный вызов также имеет доступ к индексу текущего элемента и всему массиву.

Давайте рассмотрим простой пример.

Напишите следующий код в app.js файл.

//app.jsconst numbers = [1, 3, 4, 6, 8, 9]; const filterValues ​​= () => {return numbers.filter (number => {  return number% 2 == 0;});} console.log (filterValues ​​()); 

Сохраните файл и запустите файл.

 node app 

Итак, он вернет массив с четными значениями. Основное назначение функции filter () — создать новый массив из данного массива (не изменяя существующий массив), состоящий только из тех элементов из данного массива, которые удовлетворяют условию, установленному функция аргумента.

Функция filter () очень полезна в приложении Redux, где вам не нужно изменять существующее состояние. Вместо этого вам нужно получить новое состояние из старого. Так что это чистая функция.

Пример # 2 фильтра Javascript

Давайте напишем следующий код внутри app.js и просмотрите результат.

 const data = [{country: 'China', population: 1409517397,}, {country: 'India', population:  1339180127,}, {страна: 'США', население: 324459463,}, {страна: 'Индонезия', население: 263991379,}]; let newData = data.filter (item => {return item.population  

Итак, здесь мы получаем подробную информацию о стране с населением менее 300 миллионов.

Напишите следующее код, демонстрирующий, что мы можем искать любой элемент внутри массива.

//app.jsconst student = ['krunal', 'ankit', 'appdividend', 'nehal', 'dhaval'  ]; const filterValues ​​= (name) => {return student.filter (data => {return data.toLowerCase (). indexOf (name.toLowerCase ())> -1;});} console.log (filterValues ​​('  al ')); 

Итак, мы ищем строку с подстрокой al. Таким образом, она вернет массив, состоящий из этих элементов.

Метод filter () представлен в спецификации ECMAScript 5, поэтому он недоступен в старые браузеры, такие как IE8. Если вам нужно использовать его в старых браузерах, вам нужно будет использовать прокладку совместимости или эквивалентный метод фильтрации в библиотеке, например Underscore или lodash.

Наконец, пример Javascript Array filter () окончено.

Оцените статью
nanomode.ru
Добавить комментарий