【问题标题】:How to get certain part of object array as a new array?如何将对象数组的某些部分作为新数组?
【发布时间】:2016-05-20 03:44:15
【问题描述】:

我有一个对象数组:

let products = [{ code: 'a', num: 1 }, { code: 'b', num: 2 }];

我要获取 codes 数组:['a', 'b']

这就是我现在使用 lodash 的方式:

let codes = [];
_.forEach(products, (product) => {
  codes.push(product.code);
});

有什么聪明的方法可以做到这一点吗?

【问题讨论】:

    标签: javascript arrays object lodash


    【解决方案1】:

    是的,有一个纯 JavaScript 的解决方案:

    let codes = products.map(obj => obj.code);
    

    【讨论】:

      【解决方案2】:

      您可以将map() 用于lodash:

      let codes = _.map(products, 'code');
      

      let products = [{ code: 'a', num: 1 }, { code: 'b', num: 2 }];
      
      let codes = _.map(products, 'code');
      
      document.write('<pre>' + JSON.stringify(codes, 0, 4) + '</pre>');
      &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.js"&gt;&lt;/script&gt;

      【讨论】:

        【解决方案3】:

        使用原生 JavaScript Array.map

        var arr = [{ code: 'a', num: 1 }, { code: 'b', num: 2 }];
        
        var newArr = arr.map(function(obj){
          return obj.code;
        
        })
        
        console.log(newArr)
        

           var arr = [{
             code: 'a',
             num: 1
           }, {
             code: 'b',
             num: 2
           }];
        
           var newArr = arr.map(function(obj) {
             return obj.code;
        
           })
        
            console.log(newArr)

        【讨论】:

          猜你喜欢
          • 2021-08-23
          • 2023-03-30
          • 2020-05-14
          • 2022-03-17
          • 2019-12-06
          • 2022-01-23
          • 2017-06-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多