PassFront
  1. PassFront
  2. База знаний
  3. Массивы и структуры данных

Какие методы массива важны на практике и чем они отличаются?

Массивы и структуры данных

Методы массива делятся на мутирующие (меняют исходный массив) и немутирующие (возвращают новый). На собеседовании важно знать, какие из них перебирающие, трансформирующие и мутирующие.

Трансформация (возвращают новый массив)

  • map — преобразует каждый элемент.
  • filter — оставляет подходящие.
  • slice — копия части массива.
  • concat — объединение.

Агрегация

  • reduce — сворачивает массив в одно значение.
  • find / findIndex — первый подходящий элемент/индекс.
  • some / every — булев результат по условию.
  • includes / indexOf — поиск значения.
const nums = [1, 2, 3, 4];
const doubledEven = nums.filter((n) => n % 2 === 0).map((n) => n * 2); // [4, 8]
const sum = nums.reduce((acc, n) => acc + n, 0); // 10

Мутирующие (меняют исходный!)

  • push / pop — конец массива.
  • shift / unshift — начало массива.
  • splice — удаление/вставка по индексу.
  • sort / reverse — сортировка/разворот на месте.
const arr = [3, 1, 2];
arr.sort(); // мутирует arr → [1, 2, 3]
const sorted = [...arr].sort(); // безопасно: копия

Практический совет

Для иммутабельного кода (React/Redux) избегайте мутирующих методов или работайте с копией ([...arr], toSorted, toReversed).

Коротко для собеседования

map/filter/reduce/find/some/every — немутирующие, возвращают новый результат. push/pop/splice/sort/reverse — мутируют исходный массив. В иммутабельном коде мутирующие применяют к копии.

Другие вопросы раздела