数组是:
x= [{:dog=> :dog}, {:ant=> :ant}, {:cat=> :cat}]
我想知道是否有人可以解释如何执行此操作以及两个订单的最终结果是什么样的。
答案 0 :(得分:6)
x.sort_by(&:keys)
x.sort do |first_hash, second_hash|
second_hash.keys <=> first_hash.keys
end
你有一个带有一个元素的哈希数组。在升序的情况下,你可以说你想通过哈希的键来订购。它将默认为字母比较。
对于降序,您必须将连续的哈希与<=>
运算符进行比较,如果-1
则返回a<b
,如果相等则返回0
1
} a>b
(给定a <=> b
)。我们只是交换a
和b
的地点以获得降序。