Javascript Array filter ()

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

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

 arr.filter(callback(element), thisArg)

Тут arr - це масив.

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

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

  • зворотний виклик - тестова функція для кожного елемента масиву; повертає, trueякщо елемент проходить тест, інакше false. Це приймає:
    • елемент - поточний елемент, що передається з масиву.
  • thisArg (необов’язково) - значення, яке слід використовувати як thisпри виконанні зворотного виклику. За замовчуванням це так undefined.

Повернути значення з фільтра ()

  • Повертає новий масив лише з елементами, які пройшли тест.

Примітки :

  • 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 ()

Цікаві статті...