js数组之数组通过时间(日期)进行分类
Posted 智商不够_熬夜来凑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组之数组通过时间(日期)进行分类相关的知识,希望对你有一定的参考价值。
【目的】我有这么一串数组,想把它按照日期来分类,方便通过日期来查询或分页
[
"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"
]
]
以上是关于js数组之数组通过时间(日期)进行分类的主要内容,如果未能解决你的问题,请参考以下文章