【问题标题】:How to pluck key value from object of array如何从数组对象中提取键值
【发布时间】:2018-02-27 13:13:16
【问题描述】:

我有这样的数组对象:

var arr = [{id: 1, url: 'something'},{id: 2, url: 'something2'}];

我想要这样的输出:

[{id:1}, {id:2}]

提前致谢

【问题讨论】:

    标签: javascript arrayobject


    【解决方案1】:

    只需使用Array#map

    const arr = [{id: 1, url: 'something'},{id: 2, url: 'something2'}];
    const mapped = arr.map(({id}) => ({ id }));
    
    console.log(mapped);

    简单的形式

    const arr = [{id: 1, url: 'something'},{id: 2, url: 'something2'}];
    const mapped = arr.map(item => { return { id: item.id };});
    
    console.log(mapped);

    【讨论】:

      【解决方案2】:

      您应该使用 map 函数从对象数组中提取特定的键值。

      var new_arr= arr.map(function (value, index, array) {
      
         return {"id": value.id}; 
      
      });
      

      【讨论】:

      • 您可以从回调中删除额外的两个参数,它们没有用,只会使代码混乱。
      【解决方案3】:

      如果可以修改原始数组,只需去掉 attr url

      var arr = [{id: 1, url: 'something'},{id: 2, url: 'something2'}];
      arr.forEach(o => delete o.url);
      console.log(arr)

      【讨论】:

      • @FedericoklezCulloca 好吧,也许 JSON 是从 API 提供者那里收到的,而 OP 想要清理该对象。
      • 它似乎仍然相当做作和不习惯。我的意思是,当你看到这个问题时,这真的是你脑海中浮现的第一件事吗?不想轻视,我真诚地想知道。
      • @FedericoklezCulloca 这是一种有效的方法,因为我们没有完整的上下文。 OP 只想根据他/她的问题删除该属性。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      相关资源
      最近更新 更多