В JavaScript массив — это структура данных, которая позволяет хранить такие данные, как строки, числа, объекты и т. д.
В методах JavaScript мы можем использовать методы filter() и find() для управления данными. эти два метода позволяют вам работать с массивами и возвращать элементы на основе определенных условий.
Итак, оба делают одно и то же. Чем эти два метода отличаются друг от друга?
Позволь мне объяснить…
В методе find()
Думаю, вы идете по магазинам, у вас есть 4 секции для мужских футболок на 4-м этаже, на 6-м этаже и на 10-м этаже. На 4-м этаже вы оглядываетесь и вас не устраивает коллекция футболок на этом этаже. теперь вы идете на 5-й этаж, теперь вас устраивают какие-то футболки, и вы покупаете их. теперь вы сделали достаточно, чтобы купить одежду. Так вы хотели пойти на 10-й этаж, чтобы купить еще один? НЕТ…!
Итак, в JavaScript метод find() возвращает первый элемент в массиве, который удовлетворяет заданному условию. Например, вам нужно отобразить первое нечетное число массива. Он не отображает все нечетные числа. он отображает только первое нечетное число.
const number = [4, 5, 6, 7, 8, 9, 10, 11, 12]; const firstOdd = number.find(num => num % 2 === 1); console.log(firstOdd) //OUTPUT 5
Метод find() рассматривает только первый элемент в массиве, который удовлетворяет «num % 2 === 1». он игнорирует другие элементы, такие как 7,9,11.
В методе Filter()
Он возвращает новый массив со всеми элементами, удовлетворяющими заданному условию.
для реального примера: человек моложе 18 лет может называть его ребенком. в противном случае лицо до 18 лет мы можем определить как взрослое.
const ages = [12, 34, 8, 18, 19, 53, 23]; const child = ages.filter(age => { return age <= 18; }) console.log(child) // OUTPUT [8,12,18]
В этом примере кода метод filter возвращает новый массив, который содержит только числа ниже и равен 18.
Подытожим это,
Метод find() возвращает только первый элемент, удовлетворяющий заданному условию.
Метод filter() возвращает новый массив, содержащий все элементы, удовлетворяющие заданному условию.