我正在构建显示亚马逊产品的应用程序:
showProducts(){
this.search.getProducts().subscribe
((data: any) => {
this.list = data['hydra:member'];
this.prices = data.lowestPrices.Amazon.newItem;
console.log('Objects', this.list);
console.log('Prices', this.prices);
});
}
控制台中的this.list:
this.prices在控制台中:
无法读取未定义的属性“ Amazon”
如何正确获得亚马逊的最低价格?
答案 0 :(得分:2)
您正在访问数组[]
。数组具有索引[0]->[n]
在您的示例中为
showProducts(){
this.search.getProducts().subscribe
((data: any) => {
this.list = data['hydra:member'];
this.prices = data['hydra:member'][0].lowestPrices.Amazon.newItem;
console.log('Objects', this.list);
console.log('Prices', this.prices);
});
第一项。
您必须为每种信息的每个数据项编写一个循环
答案 1 :(得分:1)
使用Array map遍历数组并填充属性 例如:
this.prices = data['hydra:member'].map(elem => elem.lowestPrices.Amazon.newItem;);