簡體   English   中英

如何在Ruby中將具有相同鍵的兩個哈希組合到2D數組中

[英]How to combine two hashes with same keys into a 2D array in Ruby

按日期,我​​有兩個值的哈希值:

 a = {1=>4, 2=>5, 3=>10}
 b = {1=>43, 2=>25, 3=>28}

我如何將它們在Ruby中組合成這樣的2D數組:

 c = [[1, 4, 43], [2, 5, 25], [3, 10, 28]]

只需使用Enumerable#map

a.map { |k, v| [k, v, b[k]] }
#=> [[1, 4, 43], [2, 5, 25], [3, 10, 28]]

或者,如果您的哈希中有不同的密鑰,請使用Hash#merge

a.merge(b) { |_, o, n| [o, n] }.map { |k, v| [k, *v] }
#=> [[1, 4, 43], [2, 5, 25], [3, 10, 28]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM