@mix-9

Как сделать замыкание переменной в цикле?

В двойном цикле создаются объекты. В первом цикле все корректно срабатывает, во втором значения дублируются
Ожидаю
a1 a2 a3
b1 b2 b3
Получаю
a3 a3 a3
b3 b3 b3

Код такой
for(let i = 0; i < data.length; i++) {

	for(let j = 0; j < data[i].length; j++) {

            let c1 = this.add.circle(50 + 100*i, 300 + 40*j, 15, data[i][j].color);
            let physicsContainer = this.matter.add.gameObject(c1);
            let ii = i, jj = j;

            data[ii][jj].posX = ii;
            data[ii][jj].posY = jj;
            data[ii][jj].body = physicsContainer;
            console.log(i, j, data[ii][jj]);
	}
}


В чем проблема? Phaser 3, если кому интересно, но вряд ли это важно
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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