问题:对于Hash array,如何按照每个array的某一项进行排序
解决方案:
解决方案:
array_of_hashes.sort_by { |hsh| hsh[:zip] }
通过sort_by函数得到一个指针,但是并没有真正改动array_of_hashes的值,如果想要改变值,可以加上感叹号:
array_of_hashes.sort_by!{ |hsh| hsh[:zip] }
另外,除了根据按照某一项排序,还可以在其后添加其他项,实现在以第一项排序的基础上,再进行排序:
array_of_hashes.sort_by { |hsh| hsh[:zip], hsh[year] }
参考链接:
http://stackoverflow.com/questions/5483889/in-ruby-how-sort-an-array-of-hashes
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/164317