gpt4 book ai didi

基于预定义列表的 Ruby 排序

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:09 24 4
gpt4 key购买 nike

我有一组对象。每个对象都有一个我们称之为 display_name 的属性。

我想根据预定义的值列表对这个数组进行排序。

因此,如果预定义列表看起来像这样 ["Ball", "Cat", "Helicopter", "France"]

然后具有与 "Ball" 匹配的 display_name 属性的对象位于列表的头部,具有 "Cat" 的对象位于列表的第二个,依此类推等等。

最佳答案

您可以使用 Enumerable#sort_by :

list = ["Ball", "Cat", "Helicopter", "France"] 
elements = [{:display_name => 'Cat'}, {:display_name => 'Unknown'}, {:display_name => 'Ball'}]

# sort by index in the list. If not found - put as last.
elements.sort_by { |e| list.index(e[:display_name]) || list.length }
# => [{:display_name=>"Ball"}, {:display_name=>"Cat"}, {:display_name=>"Unknown"}]

关于基于预定义列表的 Ruby 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com