Arrays 如何迭代对象数组?

Arrays 如何迭代对象数组?,arrays,angular,Arrays,Angular,映射对象数组时未定义,这是我的组件。ts: availableHistorics: Array<AvailableHistoric> = new Array<AvailableHistoric>(); ngOnInit() { this.getAvailableHistorics(); } getAvailableHistorics(){ this.service.getAvailableHistorics().subscribe(data => {this.a

映射对象数组时未定义,这是我的
组件。ts

availableHistorics: Array<AvailableHistoric> = new Array<AvailableHistoric>();

ngOnInit() {
this.getAvailableHistorics();
}
getAvailableHistorics(){
 this.service.getAvailableHistorics().subscribe(data => {this.availableHistorics.push(data);
 console.log(this.availableHistorics.map(item => item.keyword))
});}
这是服务:

export class ProductService {
 private baseUrl = 'http://localhost:8081/products';
 constructor(private http: HttpClient) { }
   getAvailableHistorics() : Observable <AvailableHistoric>{
    return this.http.get<AvailableHistoric>(this.baseUrl + 
 "/getAvailableHistorics")}}
我想得到这样一个列表:[“关键字1”、“关键字2”、“关键字3”]
我的代码有问题吗?

您正在将整个数组推送到availableHistorics列表中,因此得到的是嵌套数组。那个隐姓埋名的家伙是对的。您必须将
数据
分配给
此。可用的历史记录

我认为您收到的数据是一个数组。你把它推到一个数组里。所以数组的第一个元素就是这个数组。e、 g:

让arr=[];
设数据=[1,2,3];
arr.push(数据)

console.log(arr)
请提供服务中的代码和模板,以显示您尝试迭代的对象数组的示例
console.log(data)
在回调中复制并粘贴结果。@danijel.m我编辑了我的帖子,请看一看look@GuyIncognito我用一个例子编辑了我的文章,这是因为
中的类型返回this.http.get
是错误的。它应该是
。(前一行中的
可见
export class ProductService {
 private baseUrl = 'http://localhost:8081/products';
 constructor(private http: HttpClient) { }
   getAvailableHistorics() : Observable <AvailableHistoric>{
    return this.http.get<AvailableHistoric>(this.baseUrl + 
 "/getAvailableHistorics")}}
[
{
    "_id": null,
    "keyword": "keyword1",
    "nameToDisplay": "name1"
},
{
    "_id": null,
    "keyword": "keyword2",
    "nameToDisplay": "name2"
},
{
    "_id": null,
    "keyword": "keyword3",
    "nameToDisplay": "name3"
}]