如何在Javascript中通过键获取值

时间:2013-06-01 08:19:23

标签: javascript arrays hash

是否有任何方法可以从哈希数组中获取值:

var foo = {a: "aFirst", b: "bFirst", c: "cFirst"};
var boo = {a: "aSecond", b: "bSecond", c: "cSecond"};
var bar = {a: "aThird", b: "bThird", c: "cThird"};
var myArrOfHashes = [foo, boo, bar];

所以我希望如下:

myArrOfHashes.map(b) // => bFirst, aSecond, aThird

3 个答案:

答案 0 :(得分:4)

执行此操作的一种简单方法 - 以及许多类似的事情 - 与Lo-DashUnderscore库有关。

以下是Lo-Dash documentation

的示例
var stooges = [
    { 'name': 'moe', 'age': 40 },
    { 'name': 'larry', 'age': 50 }
];

_.pluck(stooges, 'name');
// → ['moe', 'larry']

即使您针对此特定问题使用不同的方法,也一定要查看这些库。 (它们彼此非常相似;在两者之间我更喜欢Lo-Dash。)

答案 1 :(得分:3)

嗯,不太喜欢,但你可以试试这个:

myArrOfHashes.map(function(hash){ return hash.b; });

答案 2 :(得分:1)

不是100%清楚你想要什么,但试试

var map = function(key) {
  return function(value) {
    return value[key];
  };
};

console.log(myArrOfHashes.map(map('b')));