"John Smith", "id"=>"12345"}, {"name"=>"-6ren">
gpt4 book ai didi

ruby - 按字段的字母顺序对数组中的哈希进行排序

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

我认为这很容易,并且已经很努力地搜索过,但似乎无法让它工作。

我有以下哈希:

@friends = [{"name"=>"John Smith", "id"=>"12345"}, {"name"=>"Jane Doe", "id"=>"23456"}, {"name"=>"Samuel Jackson", "id"=>"34567"}, {"name"=>"Kate Upton", "id"=>"45678"}]

我正在尝试按名称的字母顺序对其进行排序。

现在我正在这样做:

@friends.sort{|a,b| a[0]<=>b[0]}

但是,它只是以非字母顺序输出完整结果。

最佳答案

问题是 a 和 b 是 Hash,所以你必须使用“name”作为键或索引而不是 0。所以应该这样做

@friends.sort{|a,b| a['name']<=>b['name']}

还要记得使用排序!修改@friends 变量或将其设置为结果

@friends.sort!{|a,b| a['name']<=>b['name']}

@friends = @friends.sort{|a,b| a['name']<=>b['name']}

关于ruby - 按字段的字母顺序对数组中的哈希进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11336321/

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