Sobes.tech
Back to questions
Middle+
1

Что такое мутация и мутирующие методы массивов в JavaScript? Приведите примеры мутирующих и немутирующих методов.

Companies where asked
ООО Делай мебель

Answer from AI

sobes.tech AI

Мутация в JavaScript — это изменение исходного массива или объекта. Мутирующие методы массивов изменяют сам массив, а немутирующие — возвращают новый массив, оставляя исходный без изменений.

Примеры мутирующих методов:

  • push() — добавляет элемент в конец массива
  • pop() — удаляет последний элемент
  • shift() — удаляет первый элемент
  • unshift() — добавляет элемент в начало
  • splice() — добавляет/удаляет элементы по индексу
let arr = [1, 2, 3];
arr.push(4); // arr теперь [1, 2, 3, 4]
arr.splice(1, 1); // удаляет элемент с индексом 1, arr теперь [1, 3, 4]

Примеры немутирующих методов:

  • map() — возвращает новый массив, преобразованный функцией
  • filter() — возвращает новый массив с элементами, прошедшими проверку
  • slice() — возвращает копию части массива
  • concat() — объединяет массивы, возвращая новый
let arr = [1, 2, 3];
let newArr = arr.map(x => x * 2); // newArr [2, 4, 6], arr не изменился
let filtered = arr.filter(x => x > 1); // filtered [2, 3]

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