【问题标题】:How can I remove element in array value using filter javascript [duplicate]如何使用过滤器javascript删除数组值中的元素[重复]
【发布时间】:2020-06-14 09:08:24
【问题描述】:

我想删除所有元素 getData 因为它总是相同的值。我尝试使用过滤方法来删除它们

这是我的数据

let data = [
    {
        "id": 3,
        "employee_id": 2290,
        "getData": {
            "id": 9070
        },
    },
     {
        "id": 4,
        "employee_id": 2291,
        "getData": {
            "id": 9070
        },
    }
]

这就是我的工作

data =  data.filter(item => {
            return item.getData != null;
        });

这就是我想要的

let data = [
  {
      "id": 3,
      "employee_id": 2290,
  },
   {
      "id": 4,
      "employee_id": 2291,

  }
]

过滤器是最好的方法,如果不是,请给我一些建议,谢谢

【问题讨论】:

    标签: javascript


    【解决方案1】:

    过滤器用于从数组中过滤出项目,更适合您想要实现的方法是map()forEach()。下面是一个可以帮助你的演示。

    还可以使用delete 运算符从对象中删除属性

    let data = [
        {
            "id": 3,
            "employee_id": 2290,
            "getData": {
                "id": 9070
            },
        },
         {
            "id": 4,
            "employee_id": 2291,
            "getData": {
                "id": 9070
            },
        }
    ]
    
    data.map((item)=>{delete item.getData});
    console.log(data);
    
    let data2 = [
        {
            "id": 3,
            "employee_id": 2290,
            "getData": {
                "id": 9070
            },
        },
         {
            "id": 4,
            "employee_id": 2291,
            "getData": {
                "id": 9070
            },
        }
    ]
    
    data2.forEach((item)=>{delete item.getData});
    console.log(data);

    希望有帮助:)

    【讨论】:

    • 哦,谢谢,这就是为什么人们不赞成我的问题,我想念关于过滤器的理解,哈哈,对不起,谢谢,我会在 5 分钟后标记这个
    • @Ach 没关系,每个人都会遇到这种情况...很高兴可以提供帮助。如果您认为它是正确的,您也可以将其标记为已接受的答案..
    【解决方案2】:
    $.each(data,function(i,e){delete data[i]["getData"];})
    

    $.grep(data,function(e,i){delete data[i]["getData"];})
    

    【讨论】:

      【解决方案3】:

      过滤器是从数组中删除项目,而不是从数组中的对象中删除属性。你应该使用地图功能。

      let data = [
          {
              "id": 3,
              "employee_id": 2290,
              "getData": {
                  "id": 9070
              },
          },
           {
              "id": 4,
              "employee_id": 2291,
              "getData": {
                  "id": 9070
              },
          }
      ]
      
      let output = data.map(({id, employee_id}) => ({ id, employee_id }));
      
      console.log(output)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-11
        • 1970-01-01
        • 2016-09-19
        • 2021-11-30
        • 2018-09-07
        • 2020-06-18
        • 2020-12-13
        • 1970-01-01
        相关资源
        最近更新 更多