javascript - 如何从对象列表中创建属性列表?

时间:2016-11-29 19:58:46

标签: javascript jquery

我有一个对象列表

[A, A, A]

包含:

A{a:1}

如何列出A列表中的所有a

注意:我不希望获得属性的副本'列表,我想要的属性列表'自己。

3 个答案:

答案 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);