Ruby 按相反顺序排序二维散列
我有一个二维散列。我需要按值降序排列每个子散列Ruby 按相反顺序排序二维散列,ruby,sorting,hash,Ruby,Sorting,Hash,我有一个二维散列。我需要按值降序排列每个子散列 hsh={"a"=>{0=>1, 1=>2}} output= {"a"=>{1=>2,0=>1}} 谢谢,干杯 您不能影响hashmap元素的迭代或显示顺序(在ruby 1.9中,迭代(和显示)顺序保证与插入顺序相同,因此如果您从排序数组创建哈希,哈希也将被排序) 您所能做的就是将散列转换为数组并对其进行排序。比如: hsh.map {|k,v| [k, v.sort.reverse]} #=> [[
hsh={"a"=>{0=>1, 1=>2}}
output= {"a"=>{1=>2,0=>1}}
谢谢,干杯 您不能影响hashmap元素的迭代或显示顺序(在ruby 1.9中,迭代(和显示)顺序保证与插入顺序相同,因此如果您从排序数组创建哈希,哈希也将被排序) 您所能做的就是将散列转换为数组并对其进行排序。比如:
hsh.map {|k,v| [k, v.sort.reverse]}
#=> [["a", [[1, 2], [0, 1]]]]
散列是无序的集合。你不能自己下订单
按键或值遍历散列的顺序可能看起来是任意的,通常不按插入顺序。
在Ruby 1.9中,可以使用散列[h.sort]
对散列排序。散列在Ruby 1.9中排序