我在鐵軌此陣:Rails的數組排序
@array = [{'82'=>'1'}, {'81'=>'0'},{'32'=>'12'}]
我如何可以排序它有一個結果呢?我希望有這樣的:
@array = [{'32'=>'12'}, {'82'=>'1'},{'81'=>'0'}]
和下一個 - 我怎樣才能得到@array [0]散列密鑰(32)
這是散列的陣列,其中散列是{ 'USER_ID'=> 'counter'}
我在鐵軌此陣:Rails的數組排序
@array = [{'82'=>'1'}, {'81'=>'0'},{'32'=>'12'}]
我如何可以排序它有一個結果呢?我希望有這樣的:
@array = [{'32'=>'12'}, {'82'=>'1'},{'81'=>'0'}]
和下一個 - 我怎樣才能得到@array [0]散列密鑰(32)
這是散列的陣列,其中散列是{ 'USER_ID'=> 'counter'}
這將值數組排序,按降序排列,到位:
array.sort! { |h1, h2| h2.values.first <=> h1.values.first }
它也可以與sort_by!
隨後reverse!
完成。
array.sort_by! { |h| h.values } .reverse!
然後,這些都會讓你的第一個值和第一項,分別爲:
array.first.values.first
array.first.keys.first
只需將keys.sort附加到數組的末尾即可。使用@ array.keys.sort
@array.sort { |x,y| x.keys.first <=> y.keys.first }
嘗試使用Enumerable#sort_by
,並Array#reverse!
更改順序。
> @array.sort_by { |h| h.values.first }.reverse!
=> [{"32"=>"12"}, {"82"=>"1"}, {"81"=>"0"}]
請儘量爲downvote提供一個簡短的理由! – vee
您的示例不符合您對所需內容的描述。您作爲示例輸出提供的數組既不是按值排序的,也不是按鍵。 – Cezar
那麼這個哈希中的「12」和「1」以及「0」是什麼? – Wordica
如果有的話,它們按降序排列,無論你說什麼都是你想要的。 – Cezar