从下面的JSON中,我得到了areaQuotas数组,其中一些名称属性不存在。
[
{
"forums": "",
"resource": {
"dhjName": "myvhp",
"dhj": {
"areaProgramValue": "123",
"areaQuotas": [
{
"areaQuotaValue": "1234",
"name": "acc"
},
{
"areaQuotaValue": "12345",
"name": "pro"
}
],
"methodType": "DGH",
}
},
"task": "create"
},
{
"forums": "",
"resource": {
"dhjName": "myvhp",
"dhj": {
"areaProgramValue": "123",
"areaQuotas": [
{
"areaQuotaValue": "1234",
"name": "acc"
},
{
"areaQuotaValue": "12345",
"name": "pro"
},
{
"areaQuotaValue": "5666"
},
{
"areaQuotaValue": "7666"
}
],
"methodType": "DGH",
}
},
"task": "create"
},
]
从下面的JSON中,我得到了 areaQuotas 数组,对于其中的一些 name 属性不存在。
如何删除对areaQuotas数组其name属性未定义的所有对象
我尝试如下所示
test = test.filter((obj) => typeof obj.resource.dhj.areaQuotas.name === 'undefined');
这是我的小提琴
答案 0 :(得分:3)
您可以将forEach
与filter
一起使用。
test.forEach(item => {
item.resource.dhj.areaQuotas = item.resource.dhj.areaQuotas.filter(
areaQuota => {
return areaQuota.hasOwnProperty('name');
}
);
});
这是更新的小提琴:https://jsfiddle.net/o2gxgz9r/65246/