Ошибка сортировки массива по значению свойства - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь отсортировать массив по убыванию по свойству commonVotes. Сортировка идет хорошо, за исключением того, что последний элемент (Прайд) после сортировки идет не в правильном месте.

Массив перед сортировкой:

[
    {
        "uuid": "4bf84d40-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Pride",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 70,
        "deadlyVotes": 76
    },
    {
        "uuid": "4bf84d41-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Lust",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 17,
        "deadlyVotes": 105
    },
    {
        "uuid": "4bf84d42-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Glutony",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 40,
        "deadlyVotes": 21
    },
    {
        "uuid": "4bf84d43-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Envy",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 82,
        "deadlyVotes": 75
    }
]

Массив после сортировки:

[
    {
        "uuid": "4bf84d43-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Envy",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 82,
        "deadlyVotes": 75
    },
    {
        "uuid": "4bf84d42-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Glutony",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 40,
        "deadlyVotes": 21
    },
    {
        "uuid": "4bf84d41-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Lust",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 17,
        "deadlyVotes": 105
    },
    {
        "uuid": "4bf84d40-476e-11ea-87f1-f1c0fe90cd16",
        "name": "Pride",
        "createdAt": "2020-02-04T16:49:23.475Z",
        "updatedAt": "2020-02-04T16:49:23.475Z",
        "commonVotes": 70,
        "deadlyVotes": 76
    }
]

Код сортировки:

sins.sort((a, b) => {
  return (a.commonVotes > b.commonVotes) ? 1 : -1
})

Как это исправить? Иллюминаты навсегда исправили ошибку?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Это, кажется, работает нормально.

a.sort((a, b) => (a.commonVotes > b.commonVotes) ? 1 : -1);
0 голосов
/ 04 февраля 2020

Попробуйте как c

sins.sort((x, y) => {
  return (x.commonVotes < y.commonVotes) ? -1 : (x.commonVotes > y.commonVotes) ? 1 : 0
})

Попробуйте des c

sins.sort((x, y) => {
  return (x.commonVotes < y.commonVotes) ? 1 : (x.commonVotes > y.commonVotes) ? -1 : 0
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...