如果我有散列的数组,每一个天键:如何将散列数组转换为排序哈希?
[
{:day=>4,:name=>'Jay'},
{:day=>1,:name=>'Ben'},
{:day=>4,:name=>'Jill'}
]
什么是将其转换为与排序的日期值的哈希作为密钥的最佳途径:
{
:1=>[{:day=>1,:name=>'Ben'}],
:4=>[{:day=>4,:name=>'Jay'},{:day=>4,:name=>'Jill'}]
}
我“M使用Ruby 1.9.2和Rails 3.1.1
Hash本质上不排序。 Ruby 1.9+维护插入顺序,所以如果你创建一个散列并且根据排序顺序插入元素,Ruby将会维护这些元素。但是,任何后续元素都不会被排序,而会被添加。如果您需要按特定顺序检索它们,则可以在检索值之前对键进行排序,或者可以将键阵列与散列并行维护,然后按照所需顺序保存该阵列,然后迭代该数组,或者将其与'values_at'一起使用,以按照您想要的顺序检索值。 –