forEach() - выполняет функцию для каждого элемента
let numbers = [1, 2, 3, 4, 5];
let sum = 0;
numbers.forEach(function(number) {
sum += number;
});
console.log(sum); // 15
numbers.forEach(function(item, index, array) {
console.log(`Элемент ${item} имеет индекс ${index}`);
});
// С использованием стрелочной функции
numbers.forEach(number => console.log(number * 2));
// 2, 4, 6, 8, 10map() - создает новый массив, преобразуя каждый элемент
let numbers = [1, 2, 3, 4, 5];
let doubled = numbers.map(function(number) {
return number * 2;
});
console.log(doubled); // [2, 4, 6, 8, 10]
// Стрелочная функция
let squares = numbers.map(n => n * n);
console.log(squares); // [1, 4, 9, 16, 25]filter() - создает новый массив с элементами, прошедшими проверку
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
console.log(evenNumbers); // [2, 4, 6, 8, 10]
// Фильтрация строк
let fruits = ["яблоко", "банан", "апельсин", "виноград", "груша"];
let longFruits = fruits.filter(fruit => fruit.length > 5);
console.log(longFruits); // ["банан", "апельсин", "виноград"]find() - находит первый элемент, удовлетворяющий условию
let numbers = [1, 2, 3, 4, 5];
let found = numbers.find(function(number) {
return number > 3;
});
console.log(found); // 4
// Поиск объекта в массиве
let users = [
{id: 1, name: "Анна"},
{id: 2, name: "Борис"},
{id: 3, name: "Мария"}
];
let user = users.find(u => u.id === 2);
console.log(user); // {id: 2, name: "Борис"}findIndex() - находит индекс первого элемента, удовлетворяющего условию
let numbers = [1, 2, 3, 4, 5];
let index = numbers.findIndex(n => n > 3);
console.log(index); // 3
some() - проверяет, удовлетворяет ли хотя бы один элемент условию
let numbers = [1, 2, 3, 4, 5];
let hasEven = numbers.some(n => n % 2 === 0);
console.log(hasEven); // true
let hasNegative = numbers.some(n => n < 0);
console.log(hasNegative); // false
every() - проверяет, удовлетворяют ли все элементы условию
let numbers = [1, 2, 3, 4, 5];
let allPositive = numbers.every(n => n > 0);
console.log(allPositive); // true
let allEven = numbers.every(n => n % 2 === 0);
console.log(allEven); // false
reduce() - применяет функцию к аккумулятору и каждому элементу
let numbers = [1, 2, 3, 4, 5];
// Сумма всех элементов
let sum = numbers.reduce(function(accumulator, currentValue) {
return accumulator + currentValue;
}, 0); // 0 - начальное значение аккумулятора
console.log(sum); // 15
// Максимальное значение
let max = numbers.reduce((acc, val) => Math.max(acc, val));
console.log(max); // 5
// Группировка по длине строк
let fruits = ["яблоко", "банан", "апельсин", "киви", "груша"];
let grouped = fruits.reduce((acc, fruit) => {
let length = fruit.length;
if (!acc[length]) {
acc[length] = [];
}
acc[length].push(fruit);
return acc;
}, {});
console.log(grouped);
// { '4': ['киви'], '5': ['банан', 'груша'], '6': ['яблоко'], '8': ['апельсин'] }