Arrays 按照Ruby中包含元素的哈希键按升序和降序对数组进行排序
阵列是:Arrays 按照Ruby中包含元素的哈希键按升序和降序对数组进行排序,arrays,ruby,sorting,Arrays,Ruby,Sorting,阵列是: x= [{:dog=> :dog}, {:ant=> :ant}, {:cat=> :cat}] 我想知道是否有人能解释一下如何做到这一点,以及两个订单的最终结果是什么样子。x.sort\u by(&:keys) x.sort_by(&:keys) x.sort do |first_hash, second_hash| second_hash.keys <=> first_hash.keys end x、 排序do |第一个散列,第二个散
x= [{:dog=> :dog}, {:ant=> :ant}, {:cat=> :cat}]
我想知道是否有人能解释一下如何做到这一点,以及两个订单的最终结果是什么样子。x.sort\u by(&:keys)
x.sort_by(&:keys)
x.sort do |first_hash, second_hash|
second_hash.keys <=> first_hash.keys
end
x、 排序do |第一个散列,第二个散列|
第二个\u hash.keys第一个\u hash.keys
终止
您有一个包含一个元素的哈希数组。在升序的情况下,您可以说您希望按散列的键排序。它将默认为字母比较
对于降序情况,必须将连续哈希与
运算符进行比较,如果ab
(给定ab
),则该运算符返回-1
)。我们只需交换a
和b
的位置即可获得降序。x.sort\u by(&:keys)
x、 排序do |第一个散列,第二个散列|
第二个\u hash.keys第一个\u hash.keys
终止
您有一个包含一个元素的哈希数组。在升序的情况下,您可以说您希望按散列的键排序。它将默认为字母比较
对于降序情况,必须将连续哈希与
运算符进行比较,如果ab
(给定ab
),则该运算符返回-1
)。我们只需交换a
和b
的位置即可获得降序。您也可以只x.sort_by(&:keys)
,无需first
或:x.sort_by{h | h.first.first}
。对于降序,在v2.2中,您可以这样做:x.max_by(x.size){h | h.first.first}
。感谢大家的帮助,尤其是ndn!您也可以只使用x.sort_by(&:keys)
,不需要first
或:x.sort_by{h | h.first.first}
。对于降序,在v2.2中,您可以这样做:x.max_by(x.size){h | h.first.first}
。感谢大家的帮助,尤其是ndn!