如何将多个数组合并为一个哈希数组?
实现平行数组转哈希数组的方法
当然可以实现这种格式转换,用Ruby的内置方法就能轻松搞定。
先确认你的原始数组:
name = ['Jhon Doe', 'Jane Doe', 'David'] role = ['Admin', 'Accountant', 'Sales']
可以通过zip和map方法的组合来完成转换:
# 用新式符号键语法(更推荐) data = name.zip(role).map { |name_val, role_val| { name: name_val, role: role_val } } # 或者和你示例一致的哈希火箭语法 data = name.zip(role).map { |name_val, role_val| { :name => name_val, :role => role_val } }
执行后得到的data数组就和你想要的结构一致了:
[ {:name=>"Jhon Doe", :role=>"Admin"}, {:name=>"Jane Doe", :role=>"Accountant"}, {:name=>"David", :role=>"Sales"} ]
另外注意你示例里的'Accountan'是笔误,正确应该是'Accountant'。
内容的提问来源于stack exchange,提问作者Fahmi
相关产品推荐
相关产品推荐

