我有这个虚拟的MySQL数据:
id date (y/m/d) value
1 2022-1-1 random value
2 2022-2-5 random value
3 2022-3-3 random value
4 2022-4-6 random value
5 2022-5-11 random value
6 2022-6-7 random value
7 2022-7-16 random value
8 2022-8-4 random value
9 2022-9-7 random value
10 2022-10-8 random value
11 2022-11-4 random value
12 2022-12-9 random value
13 2023-1-2 random value
14 2023-2-4 random value
15 2023-3-22 random value
16 2023-4-5 random value
17 2023-5-8 random value
18 2023-6-19 random value
19 2023-7-12 random value
20 2023-8-4 random value
21 2023-9-2 random value
22 2023-10-10 random value
23 2023-11-21 random value
24 2023-12-27 random value
我想实现这样的目标:
[{
year:2022,
value:[
{
month:1,
value:[
{
day:1,
value:'random value'
}
]
},
{
month:2,
value:[
{
day:5,
value:'random value'
}
],
...
}
]
},{
year:2023,
value:[
...
]
}]
有什么东西可以这样排序吗?我使用JavaScript,Node.js,我从MySQL查询中得到了一个类似虚拟数据的数据数组。我必须这样排序它,以用于前端React。
我需要的东西是快速的,不需要大量的处理,因为这个操作将在服务器上进行多次。
你有什么想法吗?
提前谢谢你。:)
2条答案
按热度按时间bqucvtff1#
您可以对对象进行分组,并通过获取日期的一部分来获得嵌套结构。
oxiaedzo2#
这些看起来像日期。想想日期算术:
将在2020年开始后的1000天内生成一个随机日期。(注意可能会有重复,但可以在之后处理。)
此技术将生成1月31日,但不会生成2月31日。看起来您的方法会导致丢失1月31日或创建2月31日。
另外,你的数据看起来像你想要每月一天。这是一个要求吗?如果是,请说明。(我的技术不适合这样。)