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"
}]