Цепочки методов массивов
Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 55 из 65.
Цепочки методов массива позволяют выполнять несколько операций над массивом в одной инструкции. Этот подход может сделать ваш код более лаконичным и читаемым.
Вот пример объединения методов массива в цепочку:
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((sum, num) => sum + num, 0);
console.log(result); // 60В этом примере мы начинаем с массива чисел, отфильтровываем нечетные числа, удваиваем каждое оставшееся число и затем суммируем результаты.
Порядок цепочки вызовов имеет значение. Каждый метод в цепочке работает с результатом предыдущего метода.
Задание
ЛегкоСоздайте функцию с названием processFruits, которая принимает массив объектов фруктов. Каждый объект фрукта имеет свойства name (строка) и quantity (число).
Функция должна использовать цепочку методов массива, чтобы:
- Отфильтровать фрукты с количеством 0
- Преобразовать название каждого фрукта в верхний регистр
- Создать строку, в которой перечислены все фрукты с их количеством в формате "APPLE: 5, BANANA: 3"
Небольшое напоминание:
Вы можете использовать функцию .join(", ") для преобразования массива строк в одну единую строку.
Можно добавить в цепочку даже функцию .join():
arr.filter(...)
.map(...)
.join(...)Шпаргалка
Цепочка методов массива позволяет выполнять несколько операций над массивом в одном выражении, делая код более лаконичным и читаемым.
Каждый метод в цепочке работает с результатом предыдущего метода:
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((sum, num) => sum + num, 0);
console.log(result); // 60Вы также можете добавить в цепочку метод .join(), чтобы преобразовать массив в строку:
arr.filter(...)
.map(...)
.join(", ")Попробуйте сами
function processFruits(fruits) {
// Напишите ваш код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON6Множества. Часть 2
Математика — Объединение множествМатематика — Пересечение множествМатематика — Разность множествМатематика — Симметрическая разностьПодмножества и надмножестваПовторение — Группировка друзей9Продвинутые методы массивов
Методы Join и SplitМетод MapМетод FilterМетод ReduceЦепочки методов массивовForEach и Map — это одно и то же?Метод SortМетоды Find и FindIndexИтоги — Мастер цепочек