我需要访问密钥"类别' specCategory'和'总计'我希望将它保存到Angular2 * ngFor
的数组中的关键和值我该怎么做?
let data = [ { _id: { category: 'Wasser & Wind', specCategory: 'Surfen' },
min: 49, max: 500, total: 1 }, { _id: { category: 'Reisen', specCategory:
'Hotel' }, min: 49, max: 500, total: 1 } ]
1)* ngFor :
我尝试通过*ngFor="let x of data" {{x._id.category}}
访问,但这不起作用
2) JSON.parser
和JSON.stringify
:
我还使用了JSON.parser
和JSON.stringify
let dataJson = JSON.stringyfy(data[0]._id);
console.log(dataJson.category);
获取错误。
3)for循环:
我尝试使用for
循环
for(var i in data){
console.log(data[i].category)
}
错误:找不到类别
答案 0 :(得分:0)
在of
循环中尝试使用in
代替for
,如下所示:
for (d of data) {
alert(d._id.category)
}
of
将遍历对象本身,其中in
将遍历对象的keys
。
有关示例,请参阅此fiddle。
答案 1 :(得分:0)
我可以从你的问题中猜出,你想要的是:
const data = [{
_id: {category: 'Wasser & Wind', specCategory: 'Surfen'},
min: 49,
max: 500,
total: 1
}, {_id: {category: 'Reisen', specCategory: 'Hotel'},
min: 49,
max: 500,
total: 1
}];
const result = data.map(item => ({'category': item._id.category, 'specCategory': item._id.specCategory, 'total': item.total}));
然后在HTML中(例如):
<ul>
<li *ngFor="let item of result">{{item.category}}: {{item.specCategory}} ({{item.total}})</li>
</ul>