提取陣列我有以下的哈希 -從Ruby的哈希
{ result: [ {id: 378, name: 'Pete'}, {id: 567, name: 'Pete'} ] }
我想從這個哈希提取的ID陣列,這樣的事情 -
[378, 567]
請告訴我最短除了循環遍歷結果數組之外,還有一種方法可以實現。這是一個地圖方法,但我不太清楚如何使用它。
幫助表示讚賞。
提取陣列我有以下的哈希 -從Ruby的哈希
{ result: [ {id: 378, name: 'Pete'}, {id: 567, name: 'Pete'} ] }
我想從這個哈希提取的ID陣列,這樣的事情 -
[378, 567]
請告訴我最短除了循環遍歷結果數組之外,還有一種方法可以實現。這是一個地圖方法,但我不太清楚如何使用它。
幫助表示讚賞。
那map
方法很方便。如果你的輸入是這樣的:
input = { :result => [ {:id => 378, :name => 'Pete'}, {:id => 567, :name => 'Pete'} ] }
您可以提取ids
像這樣:
ids = input[:result].map{ |obj| obj[:id] }
puts ids.inspect
我沒有使用地圖來獲得這些值。您可以使用以下技術:
a = { result: [ {id: 378, name: 'Pete'}, {id: 567, name: 'Pete'} ] }
i= [0,1]
output_value = []
for b in i
output_value << a.values[0][b][:id]
end
output_value
對於某些'collect'方法感覺更直觀..; ) – ok32
@ ok32你說馬鈴薯,我說.. well..potato。公平點:^) – rjz