2014-04-15 109 views
-1

我想通過被指定爲參數的傳遞散列鍵進行排序散列陣列的一個指定的哈希密鑰傳遞散列:紅寶石,排序陣列由

array([{'a' => 2}, {'a' => 1}], 'a') => [{'a' => 1}, {'a' => 2}]] 

array([{a: 1}, {a: 5}, {a: 3}], :a) => [{a:1}, {a: 3}, {a: 5}] 

由於

+1

提供的示例是按值排序但不是密鑰 – bjhaid

+0

是否保證每個散列都將具有指定的密鑰?如果不是,那些沒有鑰匙的人應該做些什麼? –

+0

您可以通過在示例中包含其他鍵來澄清您的問題(假設我的理解正確)。例如:「對於數組[{a:2,b:1},{a:1,b:3},{a:3,b:2}],如果參數是:a,則所需的結果是[{a:1,b:2},{a:2,b:1},{a:3,b:2}]如果參數是:b,則所需的結果是[{a:2,b :1},{a:3,b:2},{a:1,b:3}]「。 –

回答

3
def array(arr, key) 
    arr.sort_by { |a| a[key] } 
end 
+0

沒有回答OP的問題,這裏的OP是按值排序而不是按鍵,問題也非常模糊 – bjhaid

+0

@bjhaid,我想這是提問者想要做的事情:對於給定的鍵,按值排序數組的關鍵。 –