后端传给我这种类型的数组:
已知固定的name为11,22
[
{
date: "2021-09",
name: "11",
num: 444
},
{
date: "2021-09",
name: "22",
num: 555
},
{
date: "2021-10",
name: "11",
num: 123
},
{
date: "2021-10",
name: "22",
num: 245
}
]
需求一:
要求格式转换成如下:
[
{
date: "2021-09",
name: ['11', '22'],
num: ['444','555']
},
{
date: "2021-10",
name: ['11', '22'],
num: ['123','245']
}
]
需求二:如果后端传过来的数据缺失,则要补全:
例如后端传过来这种9月份缺失name的数据:
[
{
date: "2021-09",
name: "11",
num: 444
},
{
date: "2021-10",
name: "11",
num: 123
},
{
date: "2021-10",
name: "22",
num: 245
}
]
则依然要转换成需求一那种格式,并补全缺少的name值为0:
[
{
date: "2021-09",
name: ['11', '22'],
num: ['444','0']
},
{
date: "2021-10",
name: ['11', '22'],
num: ['123','245']
}
]
需求三(类似需求二):如果后端传过来的数据缺失,则要补全:
例如后端传过来缺失整个月份的数据,则依然要补全月份:
[
{
date: "2021-09",
name: "11",
num: 444
},
{
date: "2021-11",
name: "11",
num: 123
},
{
date: "2021-11",
name: "22",
num: 245
}
]
补全转换的格式:
[
{
date: "2021-09",
name: ['11', '22'],
num: ['444','0']
},
{
date: "2021-10",
name: ['11', '22'],
num: ['0','0']
},
{
date: "2021-11",
name: ['11', '22'],
num: ['123','245']
}
]
先从数据提取出唯一的date和name放数组升序排列下,对date遍历补全丢失的日期。然后遍历date转换成新数据格式
说实话,数据补全这个活,数据库干起来得心应手,程序干起来事倍功半
格式转换很简单,数据补全很麻烦