Sobes.tech
Back to questions
Junior — Middle
150

Какие отличия существуют между циклами for и for-in при переборе элементов в JavaScript?

Answer from AI

sobes.tech AI

Цикл for в JavaScript обычно используется для перебора элементов массива по индексу и выглядит так:

for (let i = 0; i < array.length; i++) {
  console.log(array[i]);
}

Цикл for-in предназначен для перебора перечислимых свойств объекта, включая индексы массива как строки:

for (let key in object) {
  console.log(key, object[key]);
}

Основные отличия:

  • for перебирает элементы массива по числовым индексам в порядке от 0 до длины массива.
  • for-in перебирает ключи объекта (включая свойства прототипа, если не использовать hasOwnProperty), и для массива ключи — это строки с индексами, что может привести к неожиданностям.

Для перебора массива рекомендуется использовать классический for или for-of, а for-in — для объектов.