我有一个对象列表
[A, A, A]
包含:
A{a:1}
如何列出A列表中的所有a
注意:我不希望获得属性的副本'列表,我想要的属性列表'自己。
答案 0 :(得分:0)
如果您对" a"感兴趣每个对象的属性,你需要做的就是获得" a"来自每个对象的密钥,并将它们编译成一个列表。
var objs = [ { a: 1 }, { a: 2 }, { a: 3 } ];
var listOfAKeyValues = objs.map(function(obj) { return obj.a; });
console.log(listOfAKeyValues) // [ 1, 2, 3 ]
答案 1 :(得分:0)
检查地图功能:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
你可以这样做:
aArray.map(function(A) {return A[a];})
答案 2 :(得分:0)
如果您要使用多个属性,并且您不知道或不想编写每个属性的名称,则可以将其设置为通用,以将属性名称与值数组配对,如下所示:
function A(val) {
this.a = val;
this.b = val + 1;
this.c = val + 2;
}
var arr = [new A(1), new A(2), new A(3)];
var values = arr.reduce(function(obj, curr) {
Object.keys(curr).forEach(function(key) {
if (obj[key]) {
obj[key].push(curr[key]);
} else {
obj[key] = [curr[key]];
}
});
return obj;
}, {});
console.log(values);