[英]ruby sort array of an array
我在弄清楚如何對數組的數組進行排序時遇到了問題。 兩個陣列都很直接,我確信這很簡單,但我似乎無法弄明白。
這是陣列:
[["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
我想用內部數組的整數值對它進行排序,這是一個單詞出現次數的值,最大的數字是第一個。
嘗試:
array = [["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
sorted = array.sort {|a,b| a[1] <=> b[1]}
要么:
array = [["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
sorted = array.sort {|a,b| b[1] <=> a[1]}
取決於您是想要升序還是降序。
sort可以與塊一起使用。
a = [["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
a.sort { |o1, o2| o1[1] <=> o2[1] }
#=> [["happy", 1], ["mad", 1], ["sad", 2], ["bad", 3], ["glad", 12]]
使用Array#排序方法:
ary = [["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
ary.sort { |a, b| b[1] <=> a[1] }
這應該做你想要的。
a = [["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
a.sort {|x,y| y[1] <=> x[1]}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.