将所有属性值提取到ES6中的数组中

时间:2017-09-27 04:17:15

标签: javascript arrays node.js ecmascript-6

假设我有一个数组:

var x = [ { id: 1, name: "abc"}, { id: 2, name: "def" }];

我想将id属性的值提取到数组中,以获得:

[1, 2]

this question所述,其中一种方法是:

var ids = x.map(function(a) { return a.id; });

如何使用ES6中的任何新功能/语法以更简洁的方式实现相同的结果?

(我正在为Node 8写作)

3 个答案:

答案 0 :(得分:2)

使用箭头功能会使它更简洁:

var ids = x.map(a => a.id);

答案 1 :(得分:1)

您可以使用带隐式返回的箭头函数使其更简洁:

var ids = x.map(a => a.id);

答案 2 :(得分:0)

  

您还可以在ES6中使用 reduce 数组功能

var x = [ { id: 1, name: "abc"}, { id: 2, name: "def" }],
    res = x.reduce((r,v)=>r.concat(v.id),[]);
console.log(res);