javascript - 迭代数组并仅删除 id

标签 javascript angularjs

{
  "productGroupVariantss": [
    {
      "id": 1378,
      "name": "No oF Poles",
      "variantsAttributeses": [
        {
          "id": 391,
          "variantsId": null,
          "variantsValue": "1p"
        },
        {
          "id": 392,
          "variantsId": null,
          "variantsValue": "2p"
        },
        {
          "id": 393,
          "variantsId": null,
          "variantsValue": "5p"
        },
        {
          "id": 394,
          "variantsId": null,
          "variantsValue": "4p"
        },
        {
          "id": 395,
          "variantsId": null,
          "variantsValue": "6p"
        }
      ]
    }
  ]
}

在这个json对象中,我需要迭代并仅省略数组productGroupVariantss和variantsAttributeses中的id。现在我尝试映射数组并忽略它没有返回相同的 json ??

CloneData.productGroupVariantss = []
      var Variant = _.map(model.productGroupVariantss, function(object) {
        _.omit(object, ['id']);
            _.map(object.variantsAttributeses,function(data){
              var p = _.pull(object.variantsAttributeses, 'id');
                var s= _.omit(data, ['id']);
                CloneData.productGroupVariantss.push({
                  name:p,
                  calue:s
                })
                })
      });

我的预期输出是

{
  "productGroupVariantss": [
    {
      "name": "No oF Poles",
      "variantsAttributeses": [
        {

          "variantsId": null,
          "variantsValue": "1p"
        },
        {

          "variantsId": null,
          "variantsValue": "2p"
        },
        {

          "variantsId": null,
          "variantsValue": "5p"
        },
        {

          "variantsId": null,
          "variantsValue": "4p"
        },
        {

          "variantsId": null,
          "variantsValue": "6p"
        }
      ]
    }
  ]
}

最佳答案

您可以尝试这个,这是一个非常简单的解决方案。

productGroupVariantss.forEach(function(o, i) {
    if (o.id) {
        delete o.id;
    }
    if (o.variantsAttributeses) {
        o.variantsAttributeses.forEach(function(child) {
            if (child.id) {
                delete child.id;
            }
        });
    }
});

console.log( productGroupVariantss );

关于javascript - 迭代数组并仅删除 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49288220/

相关文章:

javascript - 类中的函数表达式

angularjs - 将 $apply() 与组件一起使用

javascript - uibModal 嵌套不起作用

javascript - 在单独的 js 文件中带有 Controller 的 Angular ui 模式

javascript - 从辅助 Y 轴上的值中删除负号(Nvd3 - 多条水平图表)

javascript - 使用 ngChecked 将评级值绑定(bind)到 Angular 中的单选按钮

javascript - 如何找出使用 Promise.any 解决的 promise ?

javascript - 使用 jQuery 设置 event.target 的值/文本

javascript - POST 请求 header 中的内容类型缺少 FormData 边界

javascript - 在 JavaScript 中检索传入回调的结果?