排序我有此數組:如何哈希鍵通過它們的價值在紅寶石2.3.0
data = [
['Frank', 33],
['Stacy', 15],
['Juan', 24],
['Dom', 32],
['Steve', 24],
['Jill', 24]
]
我拿了這一點,把它變成一個哈希這樣我會有它通過關鍵字和值來組織,這樣他們會更容易單獨打電話。這結束了給我這個
{"Frank"=>33, "Stacy"=>15, "Juan"=>24, "Dom"=>32, "Steve"=>24, "Jill"=>24}
我知道爲了只看到我需要做的data.keys
鍵和做data.keys.sort
我得到按字母順序排列的按鍵。
我假設我需要做類似data.keys.sort_by { |key, value| value }
的事情,但每當我運行時,我都會按原始順序接收散列鍵。
由於您有重複的密鑰,因此很難以編程方式進行。否則,像data.to_h.map {| k,v | v} .sort.map {| vv | {h.key(vv)=> vv}}會起作用。 – jjk
當你的值相同時應該發生什麼? –
是啊...爲了清楚起見,data.to_h.map {| k,v | v} .sort.map {| vv | {h.key(vv)=> vv}}將會工作,除了__values__重複,不是鍵。 – jjk