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