js работа с массивами с помощью метода filter
Компьютеры / Программирование / javascript (джаваскрипт)
Тэги: javascript filter javascript массивы
Тэги: javascript filter javascript массивы
📅29-04-2020 👁182
Например нужно взять из массива те объекты с пользователями, которым больше 10 лет, вручную это выглядит так:
Тоже самое но короче можно записать с помощью метода filter:
Callback-функция, передаваемая в filter, должна быть предикатом. То есть её задача вернуть либо true, либо false для каждого элемента коллекции. Значение, которое возвращается, никак не используется — оно всего лишь говорит о том, включать ли текущий элемент в итоговый массив или нет. Новички часто делают ошибку на этом этапе и начинают возвращать из фильтра то, что они бы хотели увидеть в результирующем массиве (для этого надо применять map).
const users = [
{ name: 'Igor', age: 19 },
{ name: 'Danil', age: 1 },
{ name: 'Vovan', age: 4 },
{ name: 'Matvey', age: 16 },
];
const result = [];
for (const user of users) {
const { age } = user;
if (age > 10) {
result.push(user);
}
}
console.log(result); // [ { name: 'Igor', age: 19 }, { name: 'Matvey', age: 16 } ]
Тоже самое но короче можно записать с помощью метода filter:
const filteredUsers = users.filter(({ age }) => age > 10);
Callback-функция, передаваемая в filter, должна быть предикатом. То есть её задача вернуть либо true, либо false для каждого элемента коллекции. Значение, которое возвращается, никак не используется — оно всего лишь говорит о том, включать ли текущий элемент в итоговый массив или нет. Новички часто делают ошибку на этом этапе и начинают возвращать из фильтра то, что они бы хотели увидеть в результирующем массиве (для этого надо применять map).
Оставить свой ответ: