从数组中获取特定键的值

时间:2016-03-17 18:13:44

标签: javascript

我有一个对象数组

var array = [{"a":11,"b":2},{"a":22,"b":2}]

从这里,我想要一个键值列表' a'在数组的所有对象中。

var res = [11,22]

如何在不编写循环的情况下将其作为单行程执行?

4 个答案:

答案 0 :(得分:3)

您可以使用map函数转换数组:

var allA= array.map(function(o) {
   return o.a;
});

答案 1 :(得分:1)

var array = [{"a":11,"b":2},{"a":22,"b":2}];

var res  = array.map(function(val){
      return val["a"];
});

console.log(res); // [11, 22]

答案 2 :(得分:1)

我知道你没有提到underscore,但只是因为你知道那里有一个库你可以在一行中完成。其他答案都更好,因为他们不使用任何库并利用原生javascript map方法,但我认为突出underscore会很好。

var array = [{"a":11,"b":2},{"a":22,"b":2}];

_.pluck(arr, "a");

你不会比那更短。要使用此功能,您需要包含下划线库,此外,您还可以在此处阅读带注释的源代码,这是学习javascript到更高级别的好方法 - http://underscorejs.org/docs/underscore.html

答案 3 :(得分:0)

//给出这个数组:

var arr = [{"a":11,"b":2},{"a":22,"b":2}];

//你可以这样做:

var res = arr.map(function (o, i, a) {
    return o.a;
});

jsFiddle example