Object.values ​​изменяет порядок дат в JS - PullRequest
0 голосов
/ 26 мая 2020

У меня проблема. При применении Object.values ​​() к объекту он разрушает текущий порядок, есть идеи, как я могу сохранить порядок?

У меня есть следующее: console.log(formattedReads) который возвращает

{12: {…}, 18: {…}, 19: {…}, 20: {…}, 21: {…}, 26: {…}, 05: {…}, 06: {…}, 07: {…}, 08: {…}} // structure preview in console log, actual data below
05: {date: "05", goal_achieved: false, reads: 62, dayOfWeek: "Tuesday", nonFormattedDate: "2020-05-05"}
06: {date: "06", goal_achieved: false, reads: 15, dayOfWeek: "Wednesday", nonFormattedDate: "2020-05-06"}
07: {date: "07", goal_achieved: false, reads: 2, dayOfWeek: "Thursday", nonFormattedDate: "2020-05-07"}
08: {date: "08", goal_achieved: false, reads: 5, dayOfWeek: "Friday", nonFormattedDate: "2020-05-08"}
12: {date: "12", goal_achieved: false, reads: 10, dayOfWeek: "Tuesday", nonFormattedDate: "2020-05-12"}
18: {date: "18", goal_achieved: false, reads: 2, dayOfWeek: "Monday", nonFormattedDate: "2020-05-18"}
19: {date: "19", goal_achieved: true, reads: 0, dayOfWeek: "Tuesday", nonFormattedDate: "2020-05-19"}
20: {date: "20", goal_achieved: false, reads: 4, dayOfWeek: "Wednesday", nonFormattedDate: "2020-05-20"}
21: {date: "21", goal_achieved: false, reads: 1, dayOfWeek: "Thursday", nonFormattedDate: "2020-05-21"}
26: {date: "26", goal_achieved: false, reads: 0, dayOfWeek: "Tuesday"}
__proto__: Object

но затем, когда я подаю заявку console.log(Object.values(formattedReadsByDay));

(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] // structure preview in console log, actual data below
0: {date: "12", goal_achieved: false, reads: 10, dayOfWeek: "Tuesday", nonFormattedDate: "2020-05-12"}
1: {date: "18", goal_achieved: false, reads: 2, dayOfWeek: "Monday", nonFormattedDate: "2020-05-18"}
2: {date: "19", goal_achieved: true, reads: 0, dayOfWeek: "Tuesday", nonFormattedDate: "2020-05-19"}
3: {date: "20", goal_achieved: false, reads: 4, dayOfWeek: "Wednesday", nonFormattedDate: "2020-05-20"}
4: {date: "21", goal_achieved: false, reads: 1, dayOfWeek: "Thursday", nonFormattedDate: "2020-05-21"}
5: {date: "26", goal_achieved: false, reads: 0, dayOfWeek: "Tuesday"}
6: {date: "05", goal_achieved: false, reads: 62, dayOfWeek: "Tuesday", nonFormattedDate: "2020-05-05"}
7: {date: "06", goal_achieved: false, reads: 15, dayOfWeek: "Wednesday", nonFormattedDate: "2020-05-06"}
8: {date: "07", goal_achieved: false, reads: 2, dayOfWeek: "Thursday", nonFormattedDate: "2020-05-07"}
9: {date: "08", goal_achieved: false, reads: 5, dayOfWeek: "Friday", nonFormattedDate: "2020-05-08"}
length: 10
__proto__: Array(0)

1 Ответ

0 голосов
/ 26 мая 2020

Быстрый и простой способ применить это, и он сохранит порядок.

Object.keys(formattedReadsByDay)
 .sort()
 .map(key => formattedReadsByDay[key])[0].nonFormattedDate,)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...