可以使用Ruby的sort_by方法来对字符串数组进行自定义排序。
假设有两个字符串数组:str_array和order_array,其中str_array是需要排序的字符串数组,order_array是用于自定义排序的字符串数组。
代码示例:
str_array = ['apple', 'banana', 'cherry', 'date']
order_array = ['cherry', 'banana', 'date', 'apple']
sorted_array = str_array.sort_by { |str| order_array.index(str) }
puts sorted_array
输出结果:
cherry
banana
date
apple
在这个示例中,我们使用sort_by方法对str_array进行排序。通过传递一个块给sort_by方法,我们可以根据order_array中字符串的索引来进行排序。
对于每个str_array中的元素,我们使用index方法来获取其在order_array中的索引。sort_by方法将根据这些索引来对str_array进行排序。
最后,我们将排序后的结果打印出来。
请注意,这个方法假设str_array和order_array中的所有元素都是唯一的,且order_array包含了str_array中所有元素。如果这些假设不成立,可能会导致排序结果不准确。