排序散列的数组我有哈希值的一个数组如下:在Ruby中
[{"k1"=>"v1", "k2"=>"75.1%"}, {"k1"=>"v2", "k2"=>"-NA-"}, {"k1"=>"v3", "k2"=>"5.1%"}]
我想解决这阵基础上的关键"k2"
的值哈希。我想按照降序排列,总是排在前"-NA-"
。
我要排序的数组是这样的:
[{"k1"=>"v2", "k2"=>"-NA-"}, {"k1"=>"v1", "k2"=>"75.1%"}, {"k1"=>"v3", "k2"=>"5.1%"}]
我试过hash.sort_by方法,却得到了不正确的结果。如何在Ruby中做到这一点?
从你写的是什么,它听起来就像你想把它们作为排序字符串。例如,''5%''会在降序“75%”之后和“15%”之前出现。它是否正确? – sawa
不可以。我想仅将它们排序为数字。所以,顺序是:75,然后是15,但是NA应该始终位于顶端。 – user2823083
我明白了。那么这个问题就不好说了。讲清楚。 – sawa