Задать вопрос
Diel
@Diel

Что это за баг в JS?

Баг! По-другому НЕ МОГУ сказать. Просто делаю массив обьектов. Каждый следующий push() заменяет все предыдущие обьекты последним! Посмотрите: pastebin.com/xwU2UV3t
Последний принт это за пределами цыкла, разницы как видите никакой
  • Вопрос задан
  • 324 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
В tokens ты кладёшь объект. а вовсе не копию объекта на момент покладания в tokens. Фактически, ссылку на объект. Так что логично, что при изменении объекта в одном месте изо всех остальных мест он выглядит изменившимся.
В tokens надо класть не объект, а его копию. Например, так.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
conf
@conf
Ruby developer
Судя по выхлопу (т.к. кода вы предоставили минимум), все элементы массива this.tokens
являются ссылками на одну и ту же переменную, которая меняется в каждой итерации цикла. Без большего количества кода трудно сказать что-нибудь конкретное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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