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