溫馨提示×

Ruby數(shù)組操作如何實現(xiàn)排序

小樊
81
2024-11-06 02:23:36
欄目: 編程語言

在Ruby中,有多種方法可以對數(shù)組進(jìn)行排序。以下是一些常用的排序方法:

  1. 使用sort方法:
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_arr = arr.sort
puts sorted_arr.inspect

這將輸出排序后的數(shù)組:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]。

  1. 使用sort!方法(原地排序):
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
arr.sort!
puts arr.inspect

這將直接修改原始數(shù)組,輸出排序后的數(shù)組:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]。

  1. 使用sorted方法(返回新數(shù)組,不修改原始數(shù)組):
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_arr = arr.sorted
puts sorted_arr.inspect

這將輸出排序后的新數(shù)組:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9],原始數(shù)組保持不變。

  1. 使用sort_by方法(根據(jù)對象的某個屬性進(jìn)行排序):
arr = [{name: "Alice", age: 30}, {name: "Bob", age: 25}, {name: "Cathy", age: 35}]
sorted_arr = arr.sort_by { |item| item[:age] }
puts sorted_arr.inspect

這將輸出根據(jù)年齡排序后的數(shù)組:[{name: "Bob", age: 25}, {name: "Alice", age: 30}, {name: "Cathy", age: 35}]

這些方法可以滿足大部分排序需求。如果需要更復(fù)雜的排序規(guī)則,可以使用Array#sort方法的塊參數(shù)進(jìn)行定制。

0