[英]Ruby - sort array of objects by attribute in descending order
我有这个对象的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",
},
}]
我想在我的index.html.erb
按 DESC顺序按年龄显示它们。 我到一半了,我设法对它们进行了排序,但是排序不正确。 这是我的循环
<% @classroom['students'].sort_by { |st| st['age'] }.each do |student| %>
这是我想要的结果:
16, Jim, Morrison
14, John, Doe
9, Victoria, Secret
7, Jack, Daniels
这是我得到的:
14, John, Doe
16, Jim, Morrison
7, Jack, Daniels
9, Victoria, Secret
你错过了年龄的数字
@classroom['students'].sort_by { |st| -st['age'].to_i }
我添加了-
因为您希望它们按降序排列。 除此以外
@classroom['students'].sort_by { |st| st['age'].to_i }.reverse
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.