Javascript 如何在angular typescript中从数组对象获取数据?
我正在调用一个RESTAPI,它以json数组的形式返回数据,对象格式如下 现在,当我从typecscript代码调用这个restapi并在控制台上打印收到的数据时,我得到了Javascript 如何在angular typescript中从数组对象获取数据?,javascript,angular,typescript,observable,httpclient,Javascript,Angular,Typescript,Observable,Httpclient,我正在调用一个RESTAPI,它以json数组的形式返回数据,对象格式如下 现在,当我从typecscript代码调用这个restapi并在控制台上打印收到的数据时,我得到了 gameRecord:Fifa=newfifa()//这是在ts类中全局定义的 this.fifaService.fetchGameRecord(gameId).subscribe( data => { this.gameRecord = data;
gameRecord:Fifa=newfifa()代码>//这是在ts类中全局定义的
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);
}
fetchGameRecord(gameId:number):可观察{
const fifaul=`this.baseUrl}/getGameDetail/${gameId}`;
返回这个.httpClient.get(fifaul);
}
这里的数据是一个类型为Fifa
对象的数组,而不是单个对象
因此,您可以像this.gameRecord[0].kashScore那样访问它
此外,如果您希望数组中有更多记录,您可能需要更新gameRecord:Fifa=new Fifa()
此语句。gameRecord将是对象数组,否则您每次都可以访问数组的第0个元素此处数据是Fifa
对象类型的数组,而不是单个对象
因此,您可以像this.gameRecord[0].kashScore那样访问它
此外,如果您希望数组中有更多记录,则可能需要更新gameRecord:Fifa=new Fifa()
此语句。gameRecord将是对象数组,否则您可以每次访问数组的第0个元素gameRecord:Fifa=new Fifa()
this.fifaService.fetchGameRecord(gameId).subscribe(
数据=>{
this.gameRecord=数据[0];//gameRecord:Fifa=新Fifa()
this.fifaService.fetchGameRecord(gameId).subscribe(
数据=>{
this.gameRecord=数据[0]//
this.fifaService.fetchGameRecord(gameId).subscribe(
data => {
this.gameRecord = data[0]; // <= data is an array
console.log(this.gameRecord.kashScore);
}
);