将数据推送到Array:始终使用TypeScript获取最后一个索引

时间:2016-12-12 15:12:30

标签: javascript typescript

我想通过分配动态创建我的表。 nbrBoules是变量:

boules:Boule :[]
boule:Boule;  Boule{id,poids}
Method(){

for (var _i = 0; _i < this.nbrBoules; _i++) {
      this.boule.id = _i;
      alert(_i);
      this.boule.poids = 10;
      this.boules[_i] = this.boule;

}

当我显示this.boules的结果时,我总是得到7-10|7-10|7-10|7-10|7-10|7-10|7-10|7-10|并且在我的警报中我得到0 - -1 -2 -3 -4 -5 -6 -7

它如何在Typescript中工作,为什么我总是得到最后一个索引?

1 个答案:

答案 0 :(得分:0)

不确定您要做什么但是您没有创建新对象。 this.boule不会发生变化。您只需将this.boules[I]设置为同一个对象即可。运行循环后,最后一个id将为7.但是this.boules的所有元素都将指向同一个对象,因此所有元素都将为7。