首页 > 解决方案 > 数组可以很好地打印对象值,但试图访问其打印的值未定义

问题描述

我正在尝试访问 columnsServer 数组上我的对象的 board_id ...

   columnsServer: Column[];

    this.service.getColumns()
    .subscribe(data => {
      this.columnsServer = data;
      console.log(this.columnsServer);
      for ( this.i = 0; this.i < this.columnsServer.length; this.i++) {
        console.log(this.columnsServer[this.i].board_id);
    }
  }

在第一个 console.log 上,它很好地打印了我的所有属性,但是当我尝试访问 board_id 值时,它说未定义 控制台截图

我做错了什么?我可以访问对象的其他属性,只是 board_id 不起作用。

谢谢!

标签: javascriptangulartypescript

解决方案


您没有在组件内部声明 i 并且实际上不需要它。使用你的循环如下。此外,您正在访问 board_id 实际上它是 board.id :-

for ( let i = 0; i < this.columnsServer.length; i++) {
  console.log(this.columnsServer[i].board.id);
}

推荐阅读