kleinmaximus
@kleinmaximus
Senior Full-stack Javascript Developer

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

Вопрос в заголовке.
Какие "подводные камни" появляются при использовании for...in в "перечисляемых" массивах?
  • Вопрос задан
  • 355 просмотров
Решения вопроса 2
petermzg
@petermzg
Самый лучший программист
Тут все указано
Ответ написан
Комментировать
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
for...in не следует использовать для Array, где важен порядок индексов.
Индексы массива перечисляемые свойства с целочисленными именами, а в остальном аналогичны объектам. Нет гарантии, что for...in будет возвращать индексы в нужном порядке и вернёт все перичисляемые свойства, включая имеющие нецелочислиненные имена и наследуемые.

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

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

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