Javascript 如何删除嵌套数组中名称属性未定义的JSON对象
从下面的JSON中,我得到了areaQuotas数组,对于其中一些数组,name属性不存在Javascript 如何删除嵌套数组中名称属性未定义的JSON对象,javascript,jquery,json,Javascript,Jquery,Json,从下面的JSON中,我得到了areaQuotas数组,对于其中一些数组,name属性不存在 [ { "forums": "", "resource": { "dhjName": "myvhp", "dhj": { "areaProgramValue": "123", "areaQuotas": [ { "areaQuotaValue": "1234",
[
{
"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属性不存在
[
{
"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"
},
]
如何删除areaQuotas数组中名称属性未定义的所有对象
我已尝试如下所示
test = test.filter((obj) => typeof obj.resource.dhj.areaQuotas.name === 'undefined');
这是我的小提琴
您可以将
forEach
与过滤器一起使用
test.forEach(item => {
item.resource.dhj.areaQuotas = item.resource.dhj.areaQuotas.filter(
areaQuota => {
return areaQuota.hasOwnProperty('name');
}
);
});
这是更新后的提琴:您可以使用forEach
和filter
test.forEach(item => {
item.resource.dhj.areaQuotas = item.resource.dhj.areaQuotas.filter(
areaQuota => {
return areaQuota.hasOwnProperty('name');
}
);
});
以下是更新的小提琴: