Как сортировать с помощью пользовательской сортировки по массивам для JS? - PullRequest
0 голосов
/ 14 апреля 2020

Предположим, если у меня есть массив типа [2,5,1,11,10,45] и переменная num = 99. Я хочу отсортировать массив на основе ближайшего кратного (также должен быть наименьшего кратного) значения 99 или числа, которое может разделить его на наименьшие кратные значения.

Так что, если мы увидим приведенный выше массив, мы увидим, что 99 может быть полностью делимым на 11, где частное равно 9. Деление моих 10 даст делитель как 10. Аналогично для других. Но когда мы делим 99/45, мы имеем частное 2.

Поскольку 1 всегда кратно 99 или любому числу, отличному от 99. Оно должно быть в конце массива.

В двух словах, он должен сортироваться по наименьшему частному.

Таким образом, результат сортировки должен быть [45,11,10,5,2,1].

1 Ответ

1 голос
/ 14 апреля 2020

Попробуйте: [2,5,1,11,10,45].sort((a, b) => 99 / b - 99 / a)

Но если ваша логика c только в делении, вы можете просто отсортировать число:

[2,5,1,11,10,45].sort((a, b) => b - a)

причина, чем n выше, чем результат деления будет меньше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...