簡體   English   中英

Ruby-按屬性降序對對象數組進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM