3

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

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
4

3 回答 3

4

一种简单的方法(以及许多类似的方法)是使用Lo-DashUnderscore库。

这是Lo-Dash 文档中的一个示例:

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

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

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

于 2013-06-01T08:28:50.800 回答
3

好吧,不完全是这样,但你可以试试这个:

myArrOfHashes.map(function(hash){ return hash.b; });
于 2013-06-01T08:25:33.653 回答
1

不是 100% 清楚您想要什么,但请尝试

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

console.log(myArrOfHashes.map(map('b')));
于 2013-06-01T08:25:00.847 回答