15 часто используемых методов массивов JavaScript

Важная особенность методов массивов состоит в том, что они делятся на изменяемые и неизменяемые. Это необходимо учитывать при выборе метода для решения конкретной задачи.

Большинство методов массивов в этом списке принимают в качестве аргумента аналогичный обратный вызов. Первый аргумент  —  это текущий элемент, второй  —  индекс, а третий  —  весь массив. С этим разобрались, теперь приступим к работе со списком.

1. ForEach

Перебирает каждый элемент массива и выполняет функцию обратного вызова.

const arr = [1, 2, 3];

arr.forEach(num => console.log(num));

// Консоль: 1, 2, 3

2. Map

Перебирает каждый элемент массива и выполняет функцию обратного вызова. Создает новый массив с возвращаемыми значениями функции обратного вызова.

const arr = [1, 2, 3, 4, 5];

const areEven = arr.map(num => num % 2 === 0);

console.log(areEven); // Консоль: [false, true, false, true, false]

3. Filter

Перебирает каждый элемент массива и выбирает только те, что соответствуют условию. Возвращается новый массив, основанный на выбранных элементах.

const arr = [1, 2, 3, 4, 5];

const evenNumbers = arr.filter(num => num % 2 === 0);

console.log(evenNumbers); // Консоль[2, 4]

4. Find

Находит первый элемент в массиве, который удовлетворяет условию. Если не найдено ни одного, возвращается значение undefined.

const arr = [1, 2, 3, 4, 5];

const firstEvenNumber = arr.find(num => num % 2 === 0);

console.log(firstEvenNumber); // Консоль[2]

5. FindIndex

Аналогично предыдущему методу, возвращает индекс первого элемента, удовлетворяющего заданному условию. Если не найдено ни одного, возвращается -1.

const arr = [1, 2, 3, 4, 5];

const firstEvenNumberIdx = arr.findIndex(num => num % 2 === 0);

console.log(firstEvenNumberIdx);

6. Reduce

Это расширенный метод, который можно использовать для объединения элементов массива. Основное отличие заключается в том, что обратный вызов принимает в качестве первого аргумента аккумулятор. Возвращаемое значение обратного вызова становится аккумулятором при следующей итерации.

const arr = [1, 2, 3, 4, 5];

// `acc` - значение аккумулятора
// аккумулятор - возвращаемое значение предыдущего обратного вызова
// второй аргумент, т.е. `0`, является значением по умолчанию
const sum = arr.reduce((acc, num) => acc + num, 0);

console.log(sum); // Консоль: 15

7. Every

Этот метод принимает обратный вызов, который возвращает булево значение. Every() вернет true, если условие справедливо для всех элементов массива.

const arr = [1, 2, 3, 4, 5];

const areAllEven = arr.every(num => num % 2 === 0);

console.log(areAllEven); // Консоль: false

8. Some

Как и предыдущий метод, some также принимает обратный вызов, который возвращает булево значение. Some() вернет true, если условие справедливо хотя бы для одного элемента.

const arr = [1, 2, 3, 4, 5];

const isOneEven = arr.some(num % 2 === 0);

console.log(isOneEven); // true

9. Sort

Этот метод используется для сортировки элементов в массиве. По умолчанию он сортирует массив по возрастанию. Он принимает функцию обратного вызова с двумя элементами  —  a и b. Если a меньше b, то возвращается -1, в ином случае возвращается 1. Если значения равны, то возвращается 0.

const arr = [1, 2, 3, 4, 5];

const descendingArr = arr.sort((a, b) => b - a);

console.log(descendingArr);

Помните, что в отличие от других методов, sort изменяет массив.

10. Flat

Flat используется для объединения вложенного массива в один массив. Вы можете указать глубину, до которой его нужно “сгладить”.

const arr = [[[1, 2], [3]], [4, 5]];

const flattenedArr = arr.flat(4);

console.log(flattenedArr); // Консоль[1, 2, 3, 4, 5]

11. Reverse

Меняет порядок элементов в массиве.

const arr = [1, 2, 3, 4, 5];

const reversedArr = arr.reverse();

console.log(reversedArr); // Консоль[5, 4, 3, 2, 1]

12. Include

Этот метод возвращает true, если элемент присутствует в массиве.

const arr = [1, 2, 3, 4, 5];

console.log(arr.includes(5)); // true
console.log(arr.includes(10)); // false

13. Fill

Метод fill устанавливает элементы массива в заданное значение. Он удобен, когда нужно использовать метод map/forEach определенное количество раз.

const emptyArr = new Array(5);
// Проблема в том, что вы получаете `[empty x 10]`.
// Нужны реальные значения, чтобы применить функцию map.

const filledArr = emptyArr.fill(3); // Консоль[3, 3, 3, 3, 3]

14. At

Этот метод возвращает элемент заданного индекса. Разница между ним и традиционным способом доступа к элементу (т.е. arr[1]) заключается в том, что он поддерживает и отрицательные индексы.

const arr = [1, 2, 3, 4, 5];

console.log(arr.at(1)); // 2
console.log(arr.at(-1)); // 5

// Важно: отрицательные индексы начинаются с `1`, а положительные - с `0`.

15. Concat

Этот метод используется для объединения двух массивов.

const arr1 = [1, 2, 3, 4, 5];
const arr2 = [6, 7, 8, 9, 10];

console.log(arr1.concat(arr2)); // Консоль[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Akash Shyam: 15 Important JavaScript Array Methods You Should Know

Предыдущая статьяКлассическая игра “Пинг-понг” на Java 
Следующая статьяОт нуля к единице: как сервис Instawork исследует данные