我有一个Object数组:
let products = [{ code: 'a', num: 1 }, { code: 'b', num: 2 }];
我想获得代码数组:['a', 'b']
。
这就是我现在使用 lodash :
的方式let codes = [];
_.forEach(products, (product) => {
codes.push(product.code);
});
有没有聪明的方法可以做到这一点?
答案 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;
答案 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)