Циклы for и for…in отличаются по назначению и способу работы с массивами в JavaScript. 19
Цикл for используется для перебора элементов массива по цифровым индексам. 8 Это надёжный и предсказуемый способ, при использовании цикла for работа идёт непосредственно с индексами массива. 9
Цикл for…in предназначен для перечисления свойств объекта, а не для перебора массивов. 49 При использовании с массивами он перебирает не индексы, а перечислимые свойства объекта, включая свойства из прототипа. 310
Использование цикла for…in для перебора массивов не рекомендуется, так как это может привести к неожиданным результатам. 47 Для работы с массивами лучше использовать цикл for или другие подходящие методы, например forEach или for…of. 7