ruby如何使用新键和数组中的值生成哈希
我有这样一个数组:ruby如何使用新键和数组中的值生成哈希,ruby,arrays,hash,Ruby,Arrays,Hash,我有这样一个数组: arr = [["food", "eggs"],["beverage", "milk"],["desert", "cake"]] hash = [{"category": "food", "item":"eggs"}, {"category": "beverage", "item":"milk"} {"category": "desert", "item":"cake"}] 我需要将它转换成一个散列数组,其中键是自定义的和新的,键的
arr = [["food", "eggs"],["beverage", "milk"],["desert", "cake"]]
hash = [{"category": "food", "item":"eggs"},
{"category": "beverage", "item":"milk"}
{"category": "desert", "item":"cake"}]
我需要将它转换成一个散列数组,其中键是自定义的和新的,键的值是数组中的值,如下所示:
arr = [["food", "eggs"],["beverage", "milk"],["desert", "cake"]]
hash = [{"category": "food", "item":"eggs"},
{"category": "beverage", "item":"milk"}
{"category": "desert", "item":"cake"}]
我该怎么做?
谢谢你arr=[[“食品”、“鸡蛋”]、[“饮料”、“牛奶”]、[“沙漠”、“蛋糕”]]
arr.inject([])do | hash(v1,v2)|
hasharr=[[“食品”、“鸡蛋”]、[“饮料”、“牛奶”]、[“沙漠”、“蛋糕”]]
arr.inject([])do | hash(v1,v2)|
散列使用:
使用:
谢谢你的意见。两种解决方案都很有效。谢谢你提出这个问题的建议,下次我会记住的,谢谢你的意见。两种解决方案都很有效。谢谢你提出这个问题的建议,下次我会记住的
arr = [["food", "eggs"], ["beverage", "milk"], ["desert", "cake"]]
arr.map { |category, item| { category: category, item: item } }
# => [
# {:category=>"food", :item=>"eggs"},
# {:category=>"beverage", :item=>"milk"},
# {:category=>"desert", :item=>"cake"}
# ]
hash = array.map {|ary| Hash[[:category, :item].zip ary ]}