是否有任何方法可以从哈希数组中获取值:
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
答案 0 :(得分:4)
执行此操作的一种简单方法 - 以及许多类似的事情 - 与Lo-Dash或Underscore库有关。
的示例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')));