【问题标题】:How can i remove object from nested array?如何从嵌套数组中删除对象?
【发布时间】:2020-07-22 10:41:22
【问题描述】:

我有这种json。

let arr1 = [
    {
        "packageReference": "1234",
        "displayName": "Business",
        "description": "Includes...",
        "promotion": {
          "packageReference": "1234",
          "displayName": "$100 Standard",
          "optionGroup": [
            {
              "displayName": "Access",
            },
            {
              "displayName": "Contract"
            },
            {
              "displayName": "Equipment"
            },
            {
              "displayName": "Features"
            },
            {
              "displayName": "Fees",
            }
          ]
        }
      }
]

我只需要删除 arr1[0].promotion.optionGroup 中 displayName 为 'Fees' 的对象,并在没有他的情况下返回新对象。

【问题讨论】:

标签: javascript


【解决方案1】:

你可以通过像这样过滤子数组来做到这一点:

let arr1 = [
    {
        "packageReference": "1234",
        "displayName": "Business",
        "description": "Includes...",
        "promotion": {
          "packageReference": "1234",
          "displayName": "$100 Standard",
          "optionGroup": [
            {
              "displayName": "Access",
            },
            {
              "displayName": "Contract"
            },
            {
              "displayName": "Equipment"
            },
            {
              "displayName": "Features"
            },
            {
              "displayName": "Fees",
            }
          ]
        }
      }
];

arr1 = arr1.map(e => {
  e['promotion']['optionGroup'] = 
       e['promotion']['optionGroup'].filter(s => s['displayName'] != 'Fees');
  return e;
});


console.log(arr1);

【讨论】:

    【解决方案2】:
    // Get new array without the Fees one
    const newGroup = arr1[0].promotion.optionGroup.filter(group => group.displayName !== 'Fees');
    
    // Put new group into the object
    arr1[0].promotion.optionGroup = newGroup;
    

    也可以在不创建变量的情况下执行此操作,但为了简洁而添加它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 2020-12-07
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-30
      相关资源
      最近更新 更多