Методы перебора массивов
Три метода, лежащие в основе функционального программирования в JavaScript.
map() — преобразование каждого элемента
«Создаёт новый массив с результатом вызова указанной функции для каждого элемента массива.»
const nums = [1, 2, 3, 4, 5]
const doubled = nums.map(n => n * 2)
// [2, 4, 6, 8, 10]
// Перевод Цельсий → Фаренгейт
const celsius = [0, 20, 37, 100]
const fahrenheit = celsius.map(c => c * 9/5 + 32)
// [32, 68, 98.6, 212]
filter() — фильтрация элементов
«Создаёт новый массив со всеми элементами, прошедшими проверку.»
const nums = [1, 2, 3, 4, 5, 6]
const evens = nums.filter(n => n % 2 === 0)
// [2, 4, 6]
reduce() — накопление значения
Накапливает элементы массива в одно значение.
const nums = [1, 2, 3, 4, 5]
const sum = nums.reduce((acc, n) => acc + n, 0)
// 15
Цепочка методов
// Найти сумму возрастов взрослых друзей:
const totalAge = friends
.filter(f => f.age >= 18)
.map(f => f.age)
.reduce((sum, age) => sum + age, 0)