Ruby,根据另一个数组对数组重新排序?

Ruby,根据另一个数组对数组重新排序?,ruby,Ruby,我想按照订单中指定的索引订购ary 你可以这样做: ary = ['a', 'b', 'c', 'd'] order = [2, 3, 0, 1] sorted_array = [] order.each do |i| sorted_array.push(ary[i]) end 尽管如此,卡里的回答还是不错。你可以这样做: ary = ['a', 'b', 'c', 'd'] order = [2, 3, 0, 1] sorted_array = [] order.each do |i

我想按照订单中指定的索引订购ary


你可以这样做:

ary = ['a', 'b', 'c', 'd']
order = [2, 3, 0, 1]
sorted_array = []

order.each do |i|
  sorted_array.push(ary[i])
end

尽管如此,卡里的回答还是不错。

你可以这样做:

ary = ['a', 'b', 'c', 'd']
order = [2, 3, 0, 1]
sorted_array = []

order.each do |i|
  sorted_array.push(ary[i])
end
ary = ['a', 'b', 'c', 'd']
order = [2, 3, 0, 1]

new_array = []

order.each do |index| #This returns the array you want.
    new_array << ary[index]
end

尽管如此,卡里的回答还是不错。

这太棒了!谢谢你能解释一下订单的作用吗@splat运算符Cary*将*[2,3,0,1]处的ary.值_转换为2,3,0,1处的ary.值_。请看文档,这太棒了!谢谢你能解释一下订单的作用吗@splat运算符Cary*将*[2,3,0,1]处的ary.值_转换为2,3,0,1处的ary.值_。有关详细信息,请参阅文档。
ary = ['a', 'b', 'c', 'd']
order = [2, 3, 0, 1]

new_array = []

order.each do |index| #This returns the array you want.
    new_array << ary[index]
end