如何从 angular 打字稿中的数组对象获取数据?

How to get data from array object in angular typescript?

我正在调用 rest api 其中 returns json 对象格式数组中的数据

现在,当我从我的 typecsript 代码调用此 rest api 并在收到的控制台数据上打印时,我得到了这个

gameRecord: Fifa = new Fifa(); // 这是在 ts class

中全局定义的
this.fifaService.fetchGameRecord(gameId).subscribe(
          data => {
            this.gameRecord = data;
            console.log(this.gameRecord);
          }
        );

现在我想从该对象中获取 wonBy、kashScore 属性值。

但是我在控制台上收到未定义的错误,我不知道为什么

gameRecord: Fifa = new Fifa();


this.fifaService.fetchGameRecord(gameId).subscribe(
      data => {
        this.gameRecord = data;
        console.log(this.gameRecord.kashScore);
      }
    );

这里是代码定义,

export class Fifa {

    gameId: number;
    kashScore: number;
    samScore: number;
    wonBy: string;
    createUserId: number;
    lastModifiedUserId: number;
    creationDate: Date;
    lastModifiedDateTime: Date;
    sessionId: number;
}

还有我的服务文件代码

fetchGameRecord(gameId: number): Observable<Fifa>{
    const fifaUrl = `${this.baseUrl}/getGameDetail/${gameId}`;
    return this.httpClient.get<Fifa>(fifaUrl);
  }

这里的数据是Fifa对象的数组,不是单个对象

这样您就可以像 this.gameRecord[0].kashScore 一样访问它 如果您希望数组中有更多记录,您可能还需要更新 gameRecord: Fifa = new Fifa() 此语句,因为 this.gamerecord 将是对象数组,否则您每次都可以访问数组的第 0 个元素

GameRichard: fifa = new fifa();

this.fifaService.fetchGameRecord(gameId).subscribe(
      data => {
        this.gameRecord = data[0]; // <= data is an array
        console.log(this.gameRecord.kashScore);
      }
    );