Как отсортировать массив по свойствам ? ("ассоциативный массив")
Добрый день. У меня есть Массив, в который я добавляю элементы таким образом:
TickersArray = [] TickersArray[ticker] = spread_5m; Где в цикле меняется: ticker как строковая переменная, spread_5m - float. Получаю в консоли такой вывод: ![]() Я хочу отсортировать теперь этот массив по свойствам (значению) в порядке убывания с сохранением ключей, разумеется. Подскажите пожалуйста как это сделать. Спасибо! |
Цитата:
|
Цитата:
|
Например, так
TickersArray = []; // Добавление TickersArray.push({ticker:ticker, value:spread_5m}); // Сортировка TickersArray.sort ((x,y) => x.value - y.value)) Но все зависит и от того, какие операции вы еще делаете с этим набором. В js нет ассоциированных массивов. Массивы только с числовыми индексами. Для хранения информации в виде <строковый ключ> -> <значение> можно использовать объекты или Map. Но их нельзя сортировать. Если нужен частый доступ к элементам по ticker, то может быть лучше использовать объект или Map, а для сортировки временно преобразовывать их в массив и сортировать. Например так Tickers = {}; // Добавление Tickers[ticker] = spread_5m; // Сортировка TickersSortArray = Object.entries(Tickers).sort ((x,y) => x[1] - y[1])) [/JS] TickersSortArray - будет массивом, где каждый элемент - массив из 2 элементов. Первый (с индексом 0) - строковое значение вашего ticker, второй (с индексом 1) - числовое значение (ваш spread_5m) |
voraa,
:yes: :thanks: |
Цитата:
|
Часовой пояс GMT +3, время: 09:22. |