8.1 Метод forEach()
Перебирающие методы массивов в JavaScript предоставляют мощные средства для работы с массивами, позволяя выполнять различные операции над их элементами. В этой теме мы рассмотрим ключевые перебирающие методы, включая forEach(), map(), filter(), reduce(), some(), every(), find() и findIndex().
Метод forEach() выполняет указанную функцию один раз для каждого элемента массива. Этот метод не возвращает нового массива и не прерывается.
Синтаксис:
array.forEach(function(element, index, array) {
// тело функции
});
Пример:
Метод forEach() проходит по каждому элементу массива numbers[] и выводит его индекс и значение.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index) => {
console.log(`Index: ${index}, Value: ${number}`);
});
// Вывод:
// Index: 0, Value: 1
// Index: 1, Value: 2
// Index: 2, Value: 3
// Index: 3, Value: 4
// Index: 4, Value: 5
8.2 Метод map()
Метод map() создает новый массив с результатом вызова указанной функции для каждого элемента массива.
Синтаксис:
const newArray = array.map(function(element, index, array) {
// тело функции
return новое_значение;
});
Функцию-преобразователь можно так же записать в виде стрелки:
const newArray = array.map((element, index, array) => новое_значение);
Пример:
Метод map() создает новый массив squared[], содержащий квадраты чисел из массива numbers[].
const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map(number => number * number);
console.log(squared); // [1, 4, 9, 16, 25]
8.3 Метод filter()
Метод filter() создает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции.
const newArray = array.filter(function(element, index, array) {
// тело функции
return условие;
});
Функцию-фильтр можно так же записать в виде стрелки:
const newArray = array.filter((element, index, array) => условие);
Пример:
Метод filter() создает новый массив evenNumbers[], содержащий только четные числа из массива numbers[].
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
8.4 Метод reduce()
Метод reduce() применяет функцию к аккумулятору и каждому элементу массива (слева направо), сводя его к единому значению.
Синтаксис:
const result = array.reduce(function(accumulator, current, index, array) {
// тело функции
return новое_значение_аккумулятора;
}, initialValue);
Функцию-аккумулятор можно так же записать в виде стрелки:
const result = array.reduce((accumulator, current, index, array) =>
новое_значение, initialValue
);
Пример:
Метод reduce() сводит массив numbers[] к единому значению sum, суммируя все элементы массива.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, number) => acc + number, 0);
console.log(sum); // 15
8.5 Метод some()
Метод some() проверяет, удовлетворяет ли хотя бы один элемент массива условию, заданному в передаваемой функции. Возвращает true или false.
Синтаксис:
const result = array.some(function(element, index, array) {
// тело функции
return условие;
});
Функцию-проверку можно так же записать в виде стрелки:
const result = array.some((element, index, array) => условие);
Пример:
Метод some() проверяет, есть ли в массиве numbers[] хотя бы одно четное число, и возвращает true.
const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some(number => number % 2 === 0);
console.log(hasEvenNumber); // true
8.6 Метод every()
Метод every() проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции. Возвращает true или false.
Синтаксис:
const result = array.every(function(element, index, array) {
// тело функции
return условие;
});
Функцию-проверку можно так же записать в виде стрелки:
const result = array.every((element, index, array) => условие);
Пример:
Метод every() проверяет, все ли элементы массива numbers[] положительные, и возвращает true.
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(number => number > 0);
console.log(allPositive); // true
8.7 Метод find()
Метод find() возвращает первый элемент массива, который удовлетворяет условию, заданному в передаваемой функции. Если ни один элемент не удовлетворяет условию, возвращает undefined.
Синтаксис:
const result = array.find(function(element, index, array) {
// тело функции
return условие;
});
Функцию-проверку можно так же записать в виде стрелки:
const result = array.find((element, index, array) => условие);
Пример:
Метод find() возвращает первое четное число из массива numbers[].
const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find(number => number % 2 === 0);
console.log(firstEven); // 2
8.8 Метод findIndex()
Метод findIndex() возвращает индекс первого элемента массива, который удовлетворяет условию, заданному в передаваемой функции. Если ни один элемент не удовлетворяет условию, возвращает -1.
Синтаксис:
const result = array.findIndex(function(element, index, array) {
// тело функции
return условие;
});
Функцию-проверку можно так же записать в виде стрелки:
const result = array.findIndex((element, index, array) => условие);
Пример:
Метод findIndex() возвращает индекс первого четного числа в массиве numbers[].
const numbers = [1, 2, 3, 4, 5];
const firstEvenIndex = numbers.findIndex(number => number % 2 === 0);
console.log(firstEvenIndex); // 1
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ