Фильтр массива Javascript ()

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

Синтаксис filter()метода:

 arr.filter(callback(element), thisArg)

Здесь arr - это массив.

filter () Параметры

filter()Метод принимает в:

  • callback - функция тестирования, выполняемая для каждого элемента массива; возвращает, trueесли элемент проходит проверку, иначе false. Принимает:
    • element - текущий элемент, передаваемый из массива.
  • thisArg (необязательно) - значение, которое будет использоваться thisпри выполнении обратного вызова. По умолчанию это так undefined.

Возвращаемое значение из filter ()

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

Примечания :

  • filter() не меняет исходный массив.
  • filter()не выполняется callbackдля элементов массива без значений.

Пример 1: фильтрация значений из массива

 const prices = (1800, 2000, null, 3000, 5000, "Thousand", 500, 8000) function checkPrice(element) ( return element> 2000 && !Number.isNaN(element); ) let filteredPrices = prices.filter(checkPrice); console.log(filteredPrices); // ( 3000, 5000, 8000 ) // using arrow function let newPrices = prices.filter((price) => (price> 2000 && !Number.isNaN(price))); console.log(newPrices); // ( 3000, 5000, 8000 )

Вывод

 (3000, 5000, 8000) (3000, 5000, 8000)

Здесь все числа, меньшие или равные 2000 , и все нечисловые значения отфильтровываются.

Пример 2: поиск в массиве

 const languages = ("JavaScript", "Python", "Ruby", "C", "C++", "Swift", "PHP", "Java"); function searchFor(arr, query) ( function condition(element) ( return element.toLowerCase().indexOf(query.toLowerCase()) !== -1; ) return arr.filter(condition); ) let newArr = searchFor(languages, "ja"); console.log(newArr); // ( 'JavaScript', 'Java' ) // using arrow function const searchArr = (arr, query) => arr.filter(element => element.toLowerCase().indexOf(query.toLowerCase()) !== -1); let newLanguages = searchArr(languages, "p"); console.log(newLanguages); // ( 'JavaScript', 'Python', 'PHP' )

Вывод

 ('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')

Здесь и элемент, и запрос преобразуются в нижний регистр, а метод indexOf () используется для проверки наличия запроса внутри элемента. Те элементы, которые не прошли этот тест, отфильтровываются.

Рекомендуемая литература: JavaScript Array map ()

Интересные статьи...