【发布时间】:2013-01-29 14:44:21
【问题描述】:
如果我有预先确定的顺序,我如何对哈希数组进行排序我有一个需要像这样排序的数组:
array = [{:attr_name=>:phone, :attr_value=>30}, {:attr_name=>:name, :attr_value=>20}, {:attr_name=>:similarity, :attr_value=>0}, {:attr_name=>:weight, :attr_value=>50}]
我有一个哈希值,我希望根据它对其进行排序:
pre_sorted = {
:name => 0,
:phone => 1,
:weight=> 2,
:similarity => 3
}
排序后我的数组应该是这样的:
[{:attr_name=>:name, :attr_value=>20}, {:attr_name=>:phone, :attr_value=>30}, {:attr_name=>:weight, :attr_value=>50}, {:attr_name=>"similarity", :attr_value=>0}]
我查看了 ruby sort and sort by docs 并在 So 上找到了相关问题,但无法弄清楚,因为我刚开始使用 rails。
【问题讨论】:
-
为什么
similarity在你的数组中是一个字符串,而在pre_sorted哈希中是一个符号? -
@sepp2k 谢谢这是我的错字,我现在已经更正了
标签: ruby-on-rails ruby