【问题标题】:Remove attribute from JSON objects in a array [duplicate]从数组中的 JSON 对象中删除属性 [重复]
【发布时间】:2019-03-11 13:19:56
【问题描述】:

我有一个 json 对象数组。

var user =[ { id: 1, name: 'linto', img: 'car' },
  { id: 2, name: 'shinto', img: 'ball' },
  { id: 3, name: 'hany', img: 'kite' } ]

从这里是想从数组的所有元素中删除属性img,所以输出看起来像这样。

var user =[ { id: 1, name: 'linto' },
  { id: 2, name: 'shinto' },
  { id: 3, name: 'hany' } ]

有没有办法在java脚本中做到这一点。

【问题讨论】:

    标签: javascript arrays object


    【解决方案1】:

    您可以将.map() 与对象解构一起使用:

    let data =[
      { id: 1, name: 'linto', img: 'car' },
      { id: 2, name: 'shinto', img: 'ball' },
      { id: 3, name: 'hany', img: 'kite' }
    ];
      
    let result = data.map(({img, ...rest}) => rest);
    
    console.log(result);

    【讨论】:

      【解决方案2】:

      Array.prototype.map()

      map() 方法创建一个新数组,其结果是在调用数组中的每个元素上调用提供的函数。

      您可以通过以下方式使用map()

      var user =[ { id: 1, name: 'linto', img: 'car' },
        { id: 2, name: 'shinto', img: 'ball' },
        { id: 3, name: 'hany', img: 'kite' } ]
        
      user = user.map(u => ({id: u.id, name: u.name}));
      console.log(user);

      【讨论】:

      • 我们可以在映射的时候添加一些条件吗?就像我们要检查 Id 是否为空一样。
      • @SouradeepBanerjee-AIS, map() 旨在遍历所有数组项,您可以根据某些条件操作这些项。如果你想过滤掉一些项目,那么你可以使用filter():)
      • 谢谢,我使用了过滤功能,并且能够做到。
      • @SouradeepBanerjee-AIS,不客气:)
      • @SouradeepBanerjee-AIS,期待投票:)
      猜你喜欢
      • 2021-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2018-06-19
      • 1970-01-01
      • 2016-01-28
      相关资源
      最近更新 更多