ruby-on-rails - Ruby - 如何根据嵌套哈希项的值对数组进行排序?

标签 ruby-on-rails ruby json

我有一些相当复杂的排序要做。

给定一个哈希数组,我需要根据每个哈希的键中的值对数组中的哈希进行排序。

例如(以JSON格式给出):

"instruments":[
{"id":1,"title":"Piano","token":"piano","count":13},
{"id":6,"title":"Bass Guitar","token":"bass","count":12},
{"id":11,"title":"Viola","token":"viola","count":12},
{"id":4,"title":"Synth","token":"synth","count":11},
{"id":3,"title":"Keyboard","token":"keyboard","count":9},
{"id":7,"title":"Saxophone","token":"saxophone","count":8},
{"id":12,"title":"Flute","token":"flute","count":8},
{"id":5,"title":"Drums","token":"drums","count":6},
{"id":2,"title":"Guitar","token":"guitar","count":5},
{"id":8,"title":"Violin","token":"violin","count":5},
{"id":9,"title":"Vocals","token":"vocals","count":4},
{"id":10,"title":"Cello","token":"cello","count":4}
]

此 JSON 是 Rails 中 responds_with 的结果。在此之前,我想根据每个散列中 "title" 键的字母顺序在数组中切换这些散列。

这是 JSON(在 Firebug 中)的一部分的屏幕截图,以更好地说明我的意思:

enter image description here

如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

您正在寻找 Enumerable#sort_by .

instruments.sort_by { |x| x["title"] }

关于ruby-on-rails - Ruby - 如何根据嵌套哈希项的值对数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585478/

相关文章:

ruby - 如何深度转换 Ruby 哈希值

java - Visual Studio 代码调试器 (Java)

javascript - 我的一些应用程序初始化程序似乎没有触发?

css - 带工具提示的简单表单标签

ruby-on-rails - FIPS 模式导致 Ruby on Rails 应用程序因 MD5 摘要/openssl 问题而失败?

java - 将 Jackson 对象转换为 JSONObject java

javascript - 是否可以在不使用索引号的情况下访问 json 数组元素?

ruby-on-rails - Rails : How do I get created_at to show the time in my current time zone?

ruby-on-rails - 使用 ActiveAdmin 复制资源选项卡

ruby - ruby 编程中的按位运算符