我有一个哈希h
:
h = {145=>1, 137=>2, 34=>3}
我想将其转换为以下形式的哈希数组:
[{cid:145, qty:1}, {cid:137, qty:2}, {cid:34, qty:3}]
我的第一次尝试解决方案适用于此示例:
h.keys.zip(h.values).map { |cid, qty| {cid:cid, qty:qty} }
评估到
[{:cid=>145, :qty=>1}, {:cid=>137, :qty=>2}, {:cid=>34, :qty=>3}]
我担心h.keys
和h.values
不会始终对齐,因为哈希不一定是有序的。
如何确保h
的密钥与相应的值配对,以解决此问题?
答案 0 :(得分:1)
h = {145=>1, 137=>2, 34=>3}
h.map!{ |k, v| {:cid =>k, :qty => v} }