Javascript Array филтър ()

Методът на JavaScript Array filter () връща нов масив с всички елементи, които преминават теста, дефиниран от дадената функция.

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

 arr.filter(callback(element), thisArg)

Тук arr е масив.

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

В filter()метода се в:

  • callback - Тестовата функция за изпълнение на всеки елемент от масив; връща, trueако елементът премине теста, иначе false. Включва:
    • елемент - Текущият елемент, който се предава от масива.
  • 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 ()

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