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 — для объектов.