Skip to content

Методы массивов JavaScript объяснённые

Все распространённые методы массивов JavaScript, сгруппированные по поведению: мутирует ли метод массив, что он возвращает и когда его стоит применять. Краткий справочник по методам, которыми вы пользуетесь каждый день.

Методы массивов бывают двух видов. Мутирующие методы изменяют массив, на котором вы их вызываете, а немутирующие возвращают новый массив и оставляют исходный нетронутым. Когда возможно, предпочитайте немутирующие методы: они избавляют от неожиданных побочных эффектов и аккуратно соединяются в цепочки. map, filter и reduce — рабочие лошадки, к которым вы обращаетесь каждый день. map преобразует каждый элемент, filter оставляет нужные элементы, а reduce сворачивает весь массив в одно значение.

Справочная таблица · 40 записи
40 of 40 rows
Мутирующие
Дановая длинаДобавляет один или несколько элементов в конец массива.
Дазначение | undefinedУдаляет и возвращает последний элемент.
Дазначение | undefinedУдаляет и возвращает первый элемент.
Дановая длинаДобавляет один или несколько элементов в начало массива.
Дамассив удалённых элементовВставляет, удаляет или заменяет элементы, начиная с заданного индекса.
Датот же массив, отсортированныйМеняет порядок элементов на месте; без функции сравнения элементы сравниваются как строки.
Датот же массив, перевёрнутыйПереворачивает порядок элементов на месте.
Датот же массивЗаполняет диапазон позиций одним значением.
Датот же массивКопирует последовательность элементов в другую позицию внутри того же массива.
Итерация / преобразование
Нетновый массивПреобразует каждый элемент во что-то новое.
Нетновый массивОставляет только элементы, прошедшие проверку.
НетаккумуляторСвёртывает все элементы в одно значение.
НетаккумуляторСвёртывает все элементы в одно значение, начиная с последнего элемента.
НетundefinedВыполняет побочный эффект для каждого элемента.
Нетзначение | undefinedВозвращает первый элемент, прошедший проверку.
Нетиндекс или -1Возвращает индекс первого элемента, прошедшего проверку.
Нетзначение | undefinedВозвращает последний элемент, прошедший проверку.
Нетиндекс или -1Возвращает индекс последнего элемента, прошедшего проверку.
НетbooleanПроверяет, что хотя бы один элемент проходит проверку.
НетbooleanПроверяет, что все элементы проходят проверку.
Нетновый массивСглаживает вложенные массивы до заданной глубины; передайте Infinity, чтобы сгладить все уровни.
Нетитератор [индекс, значение]Перебирает пары индекса и значения.
Нетитератор индексовПеребирает только индексы.
Нетитератор значенийПеребирает только значения.
Доступ / без мутации
Нетновый массивКопирует часть массива в новый массив.
Нетновый массивОбъединяет два и более массивов в один.
НетbooleanПроверяет, есть ли значение в массиве.
Нетиндекс или -1Находит первый индекс значения.
Нетиндекс или -1Находит последний индекс значения.
НетstringСклеивает все элементы в одну строку с разделителем.
Нетзначение | undefinedЧитает элемент по индексу; отрицательный индекс отсчитывается с конца.
Более новые
Нетновый массивПреобразует каждый элемент и сглаживает результат на один уровень за один проход.
Нетновый массивВозвращает копию с одним заменённым индексом.
Нетновый массив, отсортированныйСортирует копию, не трогая исходный массив.
Нетновый массив, перевёрнутыйПереворачивает копию, не трогая исходный массив.
Нетновый массивВыполняет splice над копией, не трогая исходный массив.
Статические
Нетновый массивСтроит массив из итерируемого или массивоподобного объекта.
Нетновый массивСтроит массив из списка аргументов.
НетbooleanПроверяет, является ли значение настоящим массивом.
Нетpromise с новым массивомСтроит массив из асинхронного итерируемого объекта.