簡體   English   中英

通過Ruby中包含元素的哈希鍵按升序和降序對數組進行排序

[英]sort an array in ascending and descending order by the hash keys of the containing elements in Ruby

該數組是:

x= [{:dog=> :dog}, {:ant=> :ant}, {:cat=> :cat}]

我想知道是否有人可以解釋如何執行此操作以及兩個訂單的最終結果將是什么樣子。

x.sort_by(&:keys)

x.sort do |first_hash, second_hash|
  second_hash.keys <=> first_hash.keys
end

您有一個帶有一個元素的哈希數組。 在上升的情況下,您可以說要按哈希鍵排序。 默認為字母比較。

對於下降的情況下,必須連續散列與比較<=>操作者,它返回-1如果a<b 0在平等的情況下, 1a>b (給出a <=> b )。 我們只是交換ab以獲得降序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM