Задать вопрос
kleinmaximus
@kleinmaximus
Senior Full-stack Javascript Developer

Почему не стоит использовать for ... in в массивах?

Вопрос в заголовке.
Какие "подводные камни" появляются при использовании for...in в "перечисляемых" массивах?
  • Вопрос задан
  • 372 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 2
petermzg
@petermzg
Самый лучший программист
Тут все указано
Ответ написан
Комментировать
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
for...in не следует использовать для Array, где важен порядок индексов.
Индексы массива перечисляемые свойства с целочисленными именами, а в остальном аналогичны объектам. Нет гарантии, что for...in будет возвращать индексы в нужном порядке и вернёт все перичисляемые свойства, включая имеющие нецелочислиненные имена и наследуемые.

Поэтому порядок прохода зависит от реализации, проход по массиву может не произойти в правильном порядке. Следовательно лучше с числовыми индексами использовать циклы for, Array.prototype.forEach() или for...of, когда проходим по массивам, где важен порядок доступа к свойствам.
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы