我有一個陣列的哈希陣列。例如,
arr =[[{: id=>61,:price=>20}, {: id=>61, :price=>23}, {: id=>61, :price=>60] 。]
[{:id=>65, : price=>20}, {:id=>65, : price=>23}, {:id=>65, :price=>60}] 。
[{:id=>69, : price=>20}, {:id=>69, : price=>33}, {:id=>69, :price=>80}]]
order_arr = [65,69, 61]
我怎樣才能以給定的順序(基于'order_arr')對上述陣列進行重新排序,關鍵:id .
。所以,結果應該如下:
[{: id=> 65, :price=>20}, {: id=>65, :price=>23}, {: id=>65, :price=>60] 。]
[{:id=>69, : price=>20}, {:id=>69, : price=>33}, {:id=>69, :price=>80}] 。
[{:id=>61,。 price=>20}, {:id=>61, : 價格=>23}, {:id=>61, :價格=>60}】。]
請幫助
uj5u.com熱心網友回復:
我使用你的order_arr的索引,用sort_by
arr =[[{: id=>61,:price=>20}, {: id=>61, :price=>23}, {: id=>61, :price=>60] 。]
[{:id=>65, : price=>20}, {:id=>65, : price=>23}, {:id=>65, :price=>60}] 。
[{:id=>69, : price=>20}, {:id=>69, : price=>33}, {:id=>69, :price=>80}]]
order_arr = [65,69, 61]
sorted_arr = arr.sort_by { |ary| order_arr.index(ary.first[:id] ) }
pp sorted_arr
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/307624.html
標籤:
