Sobes.tech
Назад к вопросам
Senior
4

Какие методы массивов мутируют массив, а какие нет?

Компании, где спрашивали
АйтиФаундейшн

Ответ от нейросети

sobes.tech AI

Методы массивов в JavaScript делятся на мутирующие и немутирующие.

Мутирующие методы изменяют исходный массив:

  • push() — добавляет элементы в конец массива
  • pop() — удаляет последний элемент
  • shift() — удаляет первый элемент
  • unshift() — добавляет элементы в начало массива
  • splice() — добавляет, удаляет или заменяет элементы
  • sort() — сортирует массив
  • reverse() — меняет порядок элементов на обратный

Немутирующие методы возвращают новый массив или значение, не изменяя исходный:

  • map() — создает новый массив с результатами вызова функции для каждого элемента
  • filter() — создает новый массив с элементами, прошедшими проверку
  • slice() — возвращает копию части массива
  • concat() — объединяет массивы, возвращая новый
  • reduce() — сводит массив к одному значению
  • indexOf(), includes() — возвращают индекс или булево значение

Пример:

const arr = [1, 2, 3];
arr.push(4); // arr теперь [1, 2, 3, 4]
const newArr = arr.map(x => x * 2); // newArr [2, 4, 6, 8], arr не изменился