Как отсортировать объект по значению ключа c - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть объект, который выглядит следующим образом:

a = {10: 961, 11: 1418, 12: 1526, 13: 1652, 14: 1482, 15: 1581, 16: 1594, 17: 1201, 18: 816, 19: 994, 20: 455, 21: 910, 22: 1181, 23: 713, 00: 296, 01: 144, 02: 100, 03: 56, 04: 22}

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

b = {00: 296, 01: 144, 02: 100, 03: 56, 04: 22, ...}

Не уверен, что это актуально, но Я извлек этот объект из более крупного JSON объекта и мне нужно отсортировать его, чтобы отобразить данные на диаграмме.

1 Ответ

0 голосов
/ 23 февраля 2020

Свойства объектов упорядочиваются сначала по целочисленным значениям, а затем по строковым ключам в порядке их добавления к объекту. Поэтому можно упорядочить свойства, создав новый объект из вашего объекта.

a = {10: 961, 11: 1418, 12: 1526, 13: 1652, 14: 1482, 15: 1581, 16: 1594, 17: 1201, 18: 816, 19: 994, 20: 455, 21: 910, 22: 1181, 23: 713, 00: 296, 01: 144, 02: 100, 03: 56, 04: 22};

b = {};
Object.keys(a).sort((a,b) => { return parseInt(a) - parseInt(b);}).forEach((x) => {
b[x] = a[x];});
console.log(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...