<?php
$data = [
[
'id' => "0-6-1579",
'score' => 19382.523
],
[
'id' => "0-6-1577",
'score' => 19382.523
],
[
'id' => "0-6-1590",
'score' => 19382.523
],
[
'id' => "0-6-1589",
'score' => 19382.523
],
[
'id' => "0-0-zhakaas",
'score' => 17545.562
],
];
$scores = [
19382.523,
19382.523,
19382.523,
19382.523,
17545.562,
];
array_multisort($scores, $data);
echo json_encode($data);
//output
// [
// {
// "id": "0-0-zhakaas",
// "score": 17545.562
// },
// {
// "id": "0-6-1577",
// "score": 19382.523
// },
// {
// "id": "0-6-1579",
// "score": 19382.523
// },
// {
// "id": "0-6-1589",
// "score": 19382.523
// },
// {
// "id": "0-6-1590",
// "score": 19382.523
// }
// ]
?>
Мне нужно преобразовать приведенный выше код в nodejs. Мне нужен такой же вывод в nodejs. может ли кто-нибудь помочь мне в этом. Благодарю.
Я пробовал некоторые решения в Интернете, например
https://locutus.io/php/array/array_multisort/
Я не могу производить такой же результат в nodejs.
порядок идет неверно, проблема с порядком возникает, когда два или более элементов в данных имеют одинаковое значение оценки.
Я не вижу причин использовать
array_multisort
для решения этой проблемы, вы можете просто отсортировать$data
по значениямscore
во внутренних массивах. В котором что-то вроде это - это то, что вы хотите.