Сортировка массива объектов на основе свойства объекта - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть такой массив:

[
  {
    "name": "aabb",
    "commit": {
      "id": "1",
      "message": "aabb ",
      "committed_date": "2018-04-04T15:11:04.000+05:30",
      "committer_name": "ak",
      "committer_email": "ak@ak.in"
    },
    "protected": false
  },
  {
    "name": "aacc",
    "commit": {
      "id": "2",
      "message": "aacc ",
      "committed_date": "2018-02-04T15:11:04.000+05:30",
      "committer_name": "ak",
      "committer_email": "ak@ak.in"
    },
    "protected": false
  },
  {
    "name": "aadd",
    "commit": {
      "id": "3",
      "message": "aadd ",
      "committed_date": "2018-04-01T15:11:04.000+05:30",
      "committer_name": "ak",
      "committer_email": "ak@ak.in"
    },
    "protected": false
  }
]

Мне нужно отсортировать этот массив на основе committed_date.Как мне это сделать?

Нужно ли зацикливаться и писать собственную функцию сортировки, или Ruby предлагает что-то из коробки?

1 Ответ

0 голосов
/ 07 февраля 2019

Использование sort_by

array.sort_by {|obj| obj.attribute}

Или более кратко

array.sort_by(&:attribute)

В вашем случае

array.sort_by {|obj| obj[:commit][:committed_date]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...