如何将对象数组的某些部分作为新数组?

时间:2016-05-20 03:44:16

标签: javascript arrays object lodash

我有一个Object数组:

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

我想获得代码数组:['a', 'b']

这就是我现在使用 lodash

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

有没有聪明的方法可以做到这一点?

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分: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>');
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.js"></script>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

使用vanilla 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)