我有一个JSON响应,下面是我的响应。
{
"data": [
{
"2": [
{
"name": "Test1",
"Address": "Test2"
},
]
},
{
"5": [
{
"name": "Test3",
"Address": "Test4"
},
]
},
]
}
我能够访问来自响应的数据。这里的"2“和"5”是date.If one date存在于此json响应中,那么对于该响应,我必须获取名称和地址,但我必须显示数据列表。
<div *ngFor = "let data of result">
<span>{{data.name}}</span>
<span>{{data.Address}}</span>
</div>
在ts文件中,
let result = response.data;
我想从this.Can访问姓名和地址,任何人请帮助我如何做到这一点。
发布于 2019-04-25 02:53:37
您可以使用Object.key
、map
和concat
函数来扁平化数据,如下所示
let obj = this.result;
this.result = Object.keys(obj).map(function (key) {
let objkey = obj[key];
let first = Object.keys(objkey)[0]
return obj[key][first];
});
this.result = [].concat.apply([], this.result);
在https://stackblitz.com/edit/angular-flat-array-property上演示
更新:
我用过滤器更新了演示,以便按日期应用您的过滤器。
let obj = this.result;
var filter = '5';
this.result = Object.keys(obj).map(function (key) {
let objkey = obj[key];
let first = Object.keys(objkey)[0]
if(filter == first){
return obj[key][first];
}else{
return null;
}
});
this.result = [].concat.apply([], this.result.filter(c=>c != null));
https://stackoverflow.com/questions/55835902
复制相似问题