Массивы в JavaScript — это один из самых часто используемых типов данных. Чтобы удобно работать с массивами, в языке есть большой набор встроенных методов, которые позволяют добавлять и удалять элементы, искать нужные значения, фильтровать данные, сортировать массивы, превращать их в строки и выполнять другие полезные операции.
Методы добавления и удаления элементов
push
Добавляет элементы в конец массива.
const arr = [1, 2];
arr.push(3);
console.log(arr); // [1, 2, 3]
pop
Удаляет последний элемент массива и возвращает его.
const arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]
unshift
Добавляет элементы в начало массива.
const arr = [2, 3];
arr.unshift(1);
console.log(arr); // [1, 2, 3]
shift
Удаляет первый элемент массива и возвращает его.
const arr = [1, 2, 3];
arr.shift();
console.log(arr); // [2, 3]
splice
Добавляет, заменяет или удаляет элементы по индексу.
const arr = [1, 2, 3, 4];
arr.splice(2, 1, 'a', 'b');
console.log(arr); // [1, 2, 'a', 'b', 4]
concat
Объединяет два или больше массивов в новый массив.
const arr1 = [1, 2];
const arr2 = [3, 4];
const result = arr1.concat(arr2);
console.log(result); // [1, 2, 3, 4]
Методы поиска элементов
indexOf
Возвращает индекс первого найденного элемента.
console.log([1, 2, 3, 2].indexOf(2)); // 1
lastIndexOf
Возвращает индекс последнего найденного элемента.
console.log([1, 2, 3, 2].lastIndexOf(2)); // 3
includes
Проверяет наличие элемента в массиве.
console.log([1, 2, 3].includes(2)); // true
find
Возвращает первый элемент, подходящий под условие.
const arr = [{id: 1}, {id: 2}];
console.log(arr.find(item => item.id === 2)); // {id: 2}
findIndex
Возвращает индекс первого элемента, подходящего под условие.
console.log(arr.findIndex(item => item.id === 2)); // 1
Методы перебора элементов
forEach
Выполняет функцию для каждого элемента массива.
[1, 2, 3].forEach(n => console.log(n));
map
Создает новый массив, применяя функцию к каждому элементу.
const doubled = [1, 2, 3].map(n => n * 2);
console.log(doubled); // [2, 4, 6]
filter
Создает новый массив, включающий только элементы, удовлетворяющие условию.
const filtered = [1, 2, 3, 4].filter(n => n > 2);
console.log(filtered); // [3, 4]
reduce
Выполняет свертку массива, возвращая одно итоговое значение.
const sum = [1, 2, 3].reduce((acc, n) => acc + n, 0);
console.log(sum); // 6
Методы сортировки и изменения порядка
sort
Сортирует элементы массива.
const arr = [3, 1, 4];
arr.sort();
console.log(arr); // [1, 3, 4]
reverse
Меняет порядок элементов на обратный.
const arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
Методы копирования и извлечения
slice
Создает новый массив, копируя часть существующего массива.
const arr = [1, 2, 3, 4];
console.log(arr.slice(1, 3)); // [2, 3]
toReversed
Создает новый массив с элементами в обратном порядке (не изменяет оригинал).
const arr = [1, 2, 3];
console.log(arr.toReversed()); // [3, 2, 1]
Методы преобразования в строку
join
Объединяет элементы массива в строку с заданным разделителем.
console.log([1, 2, 3].join('-')); // '1-2-3'
toString
Преобразует массив в строку через запятую.
console.log([1, 2, 3].toString()); // '1,2,3'
Методы работы с итераторами
keys
Возвращает итератор по индексам массива.
for (const key of ['a', 'b'].keys()) console.log(key); // 0, 1
values
Возвращает итератор по значениям массива.
for (const value of ['a', 'b'].values()) console.log(value); // 'a', 'b'
entries
Возвращает итератор по парам [индекс, значение].
for (const [index, value] of ['a', 'b'].entries()) {
console.log(index, value);
}
Методы проверки и заполнения массива
fill
Заполняет массив указанным значением.
const arr = new Array(3).fill(0);
console.log(arr); // [0, 0, 0]
flat
“Разглаживает” вложенные массивы в один плоский массив.
const arr = [1, [2, [3]]];
console.log(arr.flat(2)); // [1, 2, 3]
flatMap
Применяет функцию к каждому элементу и разворачивает результат в один массив.
const arr = ['a', 'b'];
console.log(arr.flatMap(c => [c, c.toUpperCase()])); // ['a', 'A', 'b', 'B']
Методы создания массива
Array.from
Создает массив из массива-подобных объектов или итерируемых значений.
const arr = Array.from('abc');
console.log(arr); // ['a', 'b', 'c']
Array.of
Создает массив из переданных аргументов.
const arr = Array.of(1, 2, 3);
console.log(arr); // [1, 2, 3]
Проверка массива
Array.isArray
Проверяет, является ли значение массивом.
console.log(Array.isArray([])); // true
console.log(Array.isArray({})); // false