【发布时间】:2021-05-18 03:08:12
【问题描述】:
我想按位置对散列进行排序,我正在使用 sort_by,但它没有按原样进行排序
hash = {
"a": {"name": "a", "type": "text", "position": 1, "required": "false"},
"b": {"name": "b", "type": "text", "position": 4, "required": "false"},
"c": {"name": "c", "type": "text", "position": 2, "required": "false"},
"d": {"name": "d", "type": "text", "position": 3, "required": "false"}
}
为了排序,我使用以下命令
temp = hash.sort_by { |k,v| k[0]['position'] }
没有错误,但我在没有任何排序的情况下保存在哈希之上。即使我正在使用 temp 来创建新的哈希,但它是相同的。我想它应该按位置1,2,3,4排序。它是我创建这些字段的 Ruby on Rails 的一部分。
【问题讨论】:
标签: ruby-on-rails ruby sorting ruby-hash