Извлеките entries
вместо keys
, затем sort
по разности каждого значения:
const unsorted_object = {
'C': '0003',
'D': '0004',
'A': '0001',
'B': '0002',
'F': '0005',
};
const sorted_object = {};
Object.entries(unsorted_object)
.sort((a, b) => a[1] - b[1])
.forEach(([key, val]) => {
sorted_object[key] = val;
});
console.log(sorted_object);
Обратите внимание, что, вероятно, более целесообразно использовать reduce
для создания объекта из массива:
const unsorted_object = {
'C': '0003',
'D': '0004',
'A': '0001',
'B': '0002',
'F': '0005',
};
const sorted_object = Object.entries(unsorted_object)
.sort((a, b) => a[1] - b[1])
.reduce((a, [key, val]) => {
a[key] = val;
return a;
}, {});
console.log(sorted_object);