Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   сортировка значений в объекте (https://javascript.ru/forum/misc/72279-sortirovka-znachenijj-v-obekte.html)

Cache 19.01.2018 13:12

Цитата:

Сообщение от Aetae (Сообщение 475732)
Cache, объект и сортировка несовместимы. Ты не властен над порядком ключей объекта

это понятно, я видимо не корректно объяснил, вопрос подразумевал как реализовать данную конвертацию, так чтобы это было достаточно быстро и малозатратно

Цитата:

Сообщение от Aetae (Сообщение 475732)
var result = Object.values(obj) //получаем массив значений из объекта
.sort(function(a, b){
   return b.v2 - a.v2
}) //сортируем по убыванию v2 
.slice(0, 20) //отрезаем верхние 20
.reduce(function(a, b) {
   return a[b.id] = b, a;
}, {}); //набиваем новый объект, где ключами - id

alert(JSON.stringify(result,0,'\t'));

хм, поиграюсь с данным кодом, спасибо, посмосмотрю на результат что получится

Cache 19.01.2018 13:25

Цитата:

Сообщение от Aetae (Сообщение 475735)
20 - это из условия конкретной задачи. По остальному см. выше.

да понятно что по задаче, я подразумевал в вопросе, что в объект попадет все что содержалось в массиве, а 20 будут отдельным массивом с id отсортированными по определенному параметру


Часовой пояс GMT +3, время: 13:19.