如何确保变量已经获得其值(在for循环中) - 离子原生移动应用程序

问题描述 投票:1回答:2

我尝试运行下面的代码。在控制台上,我得到一个空数组。是因为它是异步的吗?

...

export class HomePage {
   coords= [];

fillArray() 
{
  for (let i in myArray) {
     this.coords.push(myArray[i]);
  }

  console.log(this.coords);
}
angular ionic-framework ionic2 ionic3
2个回答
1
投票

没有涉及异步部分,如果要使用扩展语法直接推送数组,请使用ES6,如下所示。

fillArray() 
{
  this.coords.push(...myArray);
  console.log(this.coords);
}

0
投票

您的代码似乎工作正常,请参阅app.component.ts中的简单测试StackBlitz。 (使用“在新窗口中打开”按钮运行)。

let i in myArray很好,因为in语法将i设置为索引,并且您正在使用它。如上所述,您也可以使用of语法,如下所示,但您所拥有的也很好。

for (let value of myArray) {
  this.coords.push(value);
}

你能在stackblitz的fork上重现错误吗?

© www.soinside.com 2019 - 2024. All rights reserved.