Упорядочить по двум полям - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть объект, который имеет два поля x и y. X представляет цену, а Y представляет бюджет. Я хочу сгенерировать число, с помощью которого я могу отсортировать список так, чтобы объект с самой большой ценой и самым большим бюджетом находился в начале списка.

[
    { "x": 3, "y": 5 },
    { "x": 2, "y": 1 },
    { "x": 5, "y": 4 },
    { "x": 1, "y": 7 },
    { "x": 5, "y": 7 }
]

должно быть:

[
    { "x": 5, "y": 7 },
    { "x": 5, "y": 4 },
    { "x": 3, "y": 5 },
    { "x": 2, "y": 1 },
    { "x": 1, "y": 7 }
]

1 Ответ

2 голосов
/ 09 апреля 2020

Я думаю, что вы спрашиваете, вы хотите отсортировать по х, затем у. Обычный способ сделать это - реализовать собственную функцию сравнения, не зная языка программирования, это может выглядеть примерно так

function compare(A, B):
    if(A.x > B.x or A.x == B.x and A.y > B.y)
         return A
    return B 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...