首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除嵌套数组中存在的名称属性未定义的JSON对象

如何删除嵌套数组中存在的名称属性未定义的JSON对象
EN

Stack Overflow用户
提问于 2018-08-20 02:56:29
回答 1查看 42关注 0票数 0

从下面的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数组中未定义名称属性的所有对象

我已经试过了,如下所示

test = test.filter((obj) =>  typeof obj.resource.dhj.areaQuotas.name === 'undefined');

这是我的小提琴

https://jsfiddle.net/o2gxgz9r/65225/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-20 03:32:03

您可以结合使用filterforEach

test.forEach(item => {
  item.resource.dhj.areaQuotas = item.resource.dhj.areaQuotas.filter(
    areaQuota => {
      return areaQuota.hasOwnProperty('name');
    }
  );
});

以下是更新后的小提琴:https://jsfiddle.net/o2gxgz9r/65246/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51920880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档