Встречается на собеседованиях • сегодня

Как будешь выбирать между map и for...in для перебора и трансформации массива

Для перебора и трансформации массива всегда выбираю map, так как он:

  • Возвращает новый массив, не мутируя исходный
  • Четко выражает намерение преобразовать данные
  • Имеет встроенную обработку только enumerable свойств массива

for...in не подходит для массивов, потому что:

  • Перебирает все enumerable свойства, включая унаследованные
  • Не гарантирует порядок элементов
  • Может захватить методы/свойства, добавленные в прототип

Пример:

javascript
// Хорошо
const doubled = [1, 2, 3].map(x => x * 2); 

// Плохо (может дать неожиданные результаты)
const arr = [1, 2, 3];
arr.someProp = 'test';
for (let i in arr) {
  console.log(arr[i]); // Выведет 1, 2, 3, 'test'
}

Для объектов используй for...in с hasOwnProperty, для массивов — только map/forEach/for...of.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы