ltd*_*dev 2 ruby sorting json ruby-on-rails
我有这个 Json 对象数组
"students": [{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"age": "14",
}, {
"id": 2,
"first_name": "Victoria",
"last_name": "Secret",
"age": "9",
}, {
"id": 3,
"first_name": "Jim",
"last_name": "Morrison",
"age": "16",
}, {
"id": 4,
"first_name": "Jack",
"last_name": "Daniels",
"age": "7",
},
}]
Run Code Online (Sandbox Code Playgroud)
我想在我的显示他们index.html.erb 按年龄排序的DESC顺序。我已经完成了一半,我已经设法对它们进行了排序,但不是按确切的 DESC 顺序排序。这是我的循环
<% @classroom['students'].sort_by { |st| st['age'] }.each do |student| %>
Run Code Online (Sandbox Code Playgroud)
这是我想要的结果:
16, Jim, Morrison
14, John, Doe
9, Victoria, Secret
7, Jack, Daniels
Run Code Online (Sandbox Code Playgroud)
这是我得到的:
14, John, Doe
16, Jim, Morrison
7, Jack, Daniels
9, Victoria, Secret
Run Code Online (Sandbox Code Playgroud)
你错过了让年龄成为一个数字
@classroom['students'].sort_by { |st| -st['age'].to_i }
Run Code Online (Sandbox Code Playgroud)
我添加了一个,-因为您希望它们按降序排列。除此以外
@classroom['students'].sort_by { |st| st['age'].to_i }.reverse
Run Code Online (Sandbox Code Playgroud)