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

В чем разница между методом массива map и циклом for...in

Метод map создает новый массив, применяя функцию к каждому элементу исходного массива. Он не изменяет оригинальный массив и работает только с индексированными элементами.

javascript
const arr = [1, 2, 3];
const doubled = arr.map(item => item * 2); // [2, 4, 6]

Цикл for...in перебирает все перечисляемые свойства объекта, включая не только элементы массива, но и любые другие свойства. Он не создает новый массив, а просто выполняет итерацию.

javascript
const arr = [1, 2, 3];
arr.customProp = 'test';
for (let key in arr) {
  console.log(key); // 0, 1, 2, 'customProp'
}

Основные различия:

  1. map работает только с элементами массива, for...in - со всеми перечисляемыми свойствами
  2. map возвращает новый массив, for...in просто перебирает элементы
  3. map игнорирует "дыры" в массиве, for...in их учитывает
  4. Порядок итерации в for...in не гарантирован для массивов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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