1}, {:name=>"name2", :id=>2}, {:name=>"name3", :id=>3}] arr-6ren">
gpt4 book ai didi

arrays - 添加哈希数组并按哈希值排序

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:00 25 4
gpt4 key购买 nike

我有两个数组

arrayOne = [{:name=>"name1", :id=>1}, {:name=>"name2", :id=>2}, {:name=>"name3", :id=>3}]

arrayTwo = [{:name=>"name2.1", :id=>1}, {:name=>"name2.2", :id=>2}, {:name=>"name2.3", :id=>3}]

我想将这两个数组展平并排序成一个大数组,所以我尝试了这个

@bigArray = [arrayOne, arrayTwo].flatten.sort {|a,b| a.name <=> b.name}

但是这不起作用。我是 Rails 的新手,不确定上面的 flatten.sort 是否应该被映射?有更好的方法吗?

最佳答案

(arrayOne + arrayTwo).sort_by { |e| e[:name] }
#=> [{:name=>"name2.1", :id=>1},
# {:name=>"name2.1", :id=>1},
# {:name=>"name2.2", :id=>2},
# {:name=>"name2.2", :id=>2},
# {:name=>"name2.3", :id=>3},
# {:name=>"name2.3", :id=>3}]

关于arrays - 添加哈希数组并按哈希值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40652229/

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