1
我正在尋找一種使用另一個數組對數組進行排序的方法。 Here是爲我工作的答案:使用另一個數組對數組進行排序
- 的order_array(IDS的一個奇怪的命令,我想一個數組):
a1 = [34, 54, 12, 43]
- 對象列表(即我要訂購):
a2 = [ {id: 54, name: "greg"}, {...}, {...}, {...} ]
a2.sort_by{|x| a1.index x.id}
這段小小的代碼是怎麼回事?
'a1.index(x.id)'返回'a1'數組中'x'的位置。 'sort_by'使用該信息對'a2'數組進行排序。 – jvnill
ahhh ... so, a1.index(x.id)表示我們正在爲每個id分配索引值 有點像[3,5,2,6] .index(2)會給我'2'作爲答案。然後從那裏我們只是按這些索引值進行排序,這當然會是0,1,2,3,4,5等! – rikkitikkitumbo