【目的】我有这么一串数组,想把它按照日期来分类,方便通过日期来查询或分页
[
{
"tid":"163",
"date":"2020-04-04",
"client":"M人民中路分店",
"status":"已接收",
"state":"0",
"address":"广东省广州市人民中路304-314号",
"remark":"",
"tag_class":"",
"start_time":"21:42",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"164",
"date":"2020-04-04",
"client":"M昌岗中路分店",
"status":"已接收",
"state":"0",
"address":"广州市海珠区昌岗中路130号首层及二层商铺",
"remark":"",
"tag_class":"",
"start_time":"21:43",
"end_time":"00:00",
"tag":"灭飞虫",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"165",
"date":"2020-04-04",
"client":"M中信广场分店",
"status":"已接收",
"state":"0",
"address":"广州市天河北路233号中信广场中首层及二层",
"remark":"",
"tag_class":"",
"start_time":"21:43",
"end_time":"00:00",
"tag":"灭飞虫",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"166",
"date":"2020-04-04",
"client":"M小北路分店",
"status":"已接收",
"state":"0",
"address":"广州市小北路193-215号广州鹏源大厦首层",
"remark":"",
"tag_class":"",
"start_time":"21:43",
"end_time":"00:00",
"tag":"灭飞虫",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"167",
"date":"2020-04-05",
"client":"M中泰广场分店",
"status":"已接收",
"state":"0",
"address":"广州市天河区林和西路161号中泰广场首层及夹层",
"remark":"",
"tag_class":"",
"start_time":"10:10",
"end_time":"00:00",
"tag":"除四害",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"162",
"date":"2020-04-04",
"client":"72街白马",
"status":"已接收",
"state":"0",
"address":"广州市白云区火车站白马商场",
"remark":"无事献殷勤",
"tag_class":"warm",
"start_time":"09:28",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"156",
"date":"2020-04-01",
"client":"测试",
"status":"已上传",
"state":"5",
"address":"",
"remark":"",
"tag_class":"warm",
"start_time":"00:54",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"done_"
},
{
"tid":"159",
"date":"2020-04-01",
"client":"M中信广场分店",
"status":"已上传",
"state":"5",
"address":"广州市天河北路233号中信广场中首层及二层",
"remark":"",
"tag_class":"warm",
"start_time":"15:58",
"end_time":"00:00",
"tag":"灭老鼠",
"staff":"测试账号",
"mould":"0",
"state_class":"done_"
},
{
"tid":"160",
"date":"2020-04-02",
"client":"测试",
"status":"已接收",
"state":"0",
"address":"",
"remark":"",
"tag_class":"warm",
"start_time":"14:01",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
}
]
【实现代码】
dataResort(arr) {
var newArr = [];
arr.forEach(function (oldData, i) {
var index = -1;
var createTime = oldData.date.substring(0, 10);
var alreadyExists = newArr.some(function (newData, j) {
if (oldData.date.substring(0, 10) === newData.date.substring(
0, 10)) {
index = j;
return true;
}
});
if (!alreadyExists) {
var res=[];
res.push(oldData);
newArr.push({
date: oldData.date,
res: res
});
} else {
newArr[index].res.push(oldData);
}
});
return newArr;
}
【最终结果】
[
{
"date":"2020-04-04",
"res":[
{
"tid":"163",
"date":"2020-04-04",
"client":"M人民中路分店",
"status":"已接收",
"state":"0",
"address":"广东省广州市人民中路304-314号",
"remark":"",
"tag_class":"",
"start_time":"21:42",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"164",
"date":"2020-04-04",
"client":"M昌岗中路分店",
"status":"已接收",
"state":"0",
"address":"广州市海珠区昌岗中路130号首层及二层商铺",
"remark":"",
"tag_class":"",
"start_time":"21:43",
"end_time":"00:00",
"tag":"灭飞虫",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"165",
"date":"2020-04-04",
"client":"M中信广场分店",
"status":"已接收",
"state":"0",
"address":"广州市天河北路233号中信广场中首层及二层",
"remark":"",
"tag_class":"",
"start_time":"21:43",
"end_time":"00:00",
"tag":"灭飞虫",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"166",
"date":"2020-04-04",
"client":"M小北路分店",
"status":"已接收",
"state":"0",
"address":"广州市小北路193-215号广州鹏源大厦首层",
"remark":"",
"tag_class":"",
"start_time":"21:43",
"end_time":"00:00",
"tag":"灭飞虫",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
},
{
"tid":"162",
"date":"2020-04-04",
"client":"72街白马",
"status":"已接收",
"state":"0",
"address":"广州市白云区火车站白马商场",
"remark":"无事献殷勤",
"tag_class":"warm",
"start_time":"09:28",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
}
]
},
{
"date":"2020-04-05",
"res":[
{
"tid":"167",
"date":"2020-04-05",
"client":"M中泰广场分店",
"status":"已接收",
"state":"0",
"address":"广州市天河区林和西路161号中泰广场首层及夹层",
"remark":"",
"tag_class":"",
"start_time":"10:10",
"end_time":"00:00",
"tag":"除四害",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
}
]
},
{
"date":"2020-04-01",
"res":[
{
"tid":"156",
"date":"2020-04-01",
"client":"测试",
"status":"已上传",
"state":"5",
"address":"",
"remark":"",
"tag_class":"warm",
"start_time":"00:54",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"done_"
},
{
"tid":"159",
"date":"2020-04-01",
"client":"M中信广场分店",
"status":"已上传",
"state":"5",
"address":"广州市天河北路233号中信广场中首层及二层",
"remark":"",
"tag_class":"warm",
"start_time":"15:58",
"end_time":"00:00",
"tag":"灭老鼠",
"staff":"测试账号",
"mould":"0",
"state_class":"done_"
}
]
},
{
"date":"2020-04-02",
"res":[
{
"tid":"160",
"date":"2020-04-02",
"client":"测试",
"status":"已接收",
"state":"0",
"address":"",
"remark":"",
"tag_class":"warm",
"start_time":"14:01",
"end_time":"00:00",
"tag":"灭蟑螂",
"staff":"测试账号",
"mould":"0",
"state_class":"get"
}
]
}
]