1
我有散列數組的數組散列數組如下給出:排序基於排序的值
user_quizzes = [{:id => 3897, :quiz_id => 1793, :user_id => 252}, {:id => 3897, :quiz_id => 1793, :user_id => 475}, {:id => 3897, :quiz_id => 1793, :user_id => 880}, {:id => 3897, :quiz_id => 1793, :user_id => 881}, {:id => 3897, :quiz_id => 1793, :user_id => 882}, {:id => 3897, :quiz_id => 1793, :user_id => 883}, {:id => 3897, :quiz_id => 1793, :user_id => 884}]
另外,基於特定的條件我把「user_id
」鍵的值從相同的散列和排序,並在同一陣列是如下:
sorted_user_ids = [880, 881, 882, 883, 884, 475, 252]
現在,我需要的user_quizzes
基礎的user_id
在sorted_user_ids
排列的順序重新排列。
任何人都可以請幫助我。 :)
在這種特定的情況下'user_quizzes.sort {| A,B | a [:user_id] <=> b [:user_id]}'更易讀易維護。雖然我理解執行時間的懲罰。 – mudasobwa 2015-02-08 09:13:08
@mudasobwa,OP想按'sorted_user_ids'排序,而不是'user_id'本身:** ...根據'sorted_user_ids'數組中'user_id'的順序重新排列** – falsetru 2015-02-08 09:13:46
噢,是的,你是對的,對不起。 – mudasobwa 2015-02-08 09:14:34