数组中对象的属性数组

时间:2017-08-26 23:43:58

标签: javascript arrays json object

给定对象数组:

data = [{a: 1, b: 2, c: 3}, {a: 4, b: 5, c: 6}, {a: 7, b: 8, c: 9}]

如何才能获得对象的a元素数组?像这样:

a = [1, 4, 7]

是否可以不迭代对象?

4 个答案:

答案 0 :(得分:6)

使用.map()

很容易实现



var data = [{a: 1, b: 2, c: 3}, {a: 4, b: 5, c: 6}, {a: 7, b: 8, c: 9}];
var a = data.map(obj => obj.a);
console.log(a);




答案 1 :(得分:4)

你也可以试试这个:

var result = data.reduce(function(result, obj) {
        return result.concat(obj.a);
    }, []);

答案 2 :(得分:3)

有几种方法。 您应该查看Array.map()或强大的Lodash库。

let aElements = data.map(o => o.a);

答案 3 :(得分:2)

使用函数式编程(映射高阶函数):

var a = data.map(function(obj){return obj.a});

或在es6中相同:

let a = data.map(obj=>obj.a);

但是,技术上Array.prototype.map会迭代。