我有一个 Hash 的形式
{:a => {"aa"=> 11,"ab"=> 12}, :b => {"ba"=> 21,"bb"=> 22}}
我如何将它转换为 {:a => [["aa",11],["ab",12]],:b=>[["ba",21], ["bb",22]]}
最佳答案
如果你想修改原始散列,你可以这样做:
hash.each_pair { |key, value| hash[key] = value.to_a }
来自 Hash#to_a 的文档
Converts hsh to a nested array of [ key, value ] arrays.
h = { "c" => 300, "a" => 100, "d" => 400, "c" => 300 }
h.to_a #=> [["c", 300], ["a", 100], ["d", 400]]
关于ruby-on-rails - 将 Ruby 哈希转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4591949/