我试图构建一个来自哈希数组的值数组,目前我的代码看起来像这样:
ids = array_of_hashes.inject([]) do |result,instance|
result << instance[:id]
result
end
我只是想知道是否有更有效的方法吗?
答案 0 :(得分:4)
您可以将其更改为:
ids = hash.map { |instance| instance[:id] }
不一定更高效,但更容易阅读和维护!
祝你好运!答案 1 :(得分:1)
有两种简单的方法:
1. ids = hash.collect{|h| h[:id]}
2. ids = hash.map{|h| h[:id]}
现在你会问两者有什么不同?有关解释,请参阅this accepted answer