最近接到了新的需求,消息中心按照未读已读时间排序的问题,由于前后端分离项目,后端在远隔千里的那边,而且也是不同的分公司,让后台改接口是不可能啦~。后端给的比较混杂如下:
- {
- "mapResult": [{
- "ID": 3749,
- "TITLE": "待处理:柏欢测试计划--目标设定",
- "CREATE_DATE": "2018-06-23 14:30:50",
- "PUBLISH_DATE": "2018-06-23 14:30:50",
- "HAS_READ": 3749,
- "flag": "2018-06-23"
- }, {
- "ID": 3740,
- "TITLE": "待处理:柏欢测试计划--目标设定",
- "CREATE_DATE": "2018-06-22 22:29:46",
- "PUBLISH_DATE": "2018-06-22 22:29:46",
- "HAS_READ": 3740,
- "flag": "2018-06-22"
- }, {
- "ID": 3721,
- "TITLE": "待处理:柏欢测试计划--目标设定",
- "CREATE_DATE": "2018-06-22 21:06:21",
- "PUBLISH_DATE": "2018-06-22 21:06:21",
- "HAS_READ": 3721,
- "flag": "2018-06-22"
- }, {
- "ID": 3707,
- "TITLE": "待处理:柏欢测试计划--目标设定",
- "CREATE_DATE": "2018-06-23 22:43:41",
- "PUBLISH_DATE": "2018-06-23 22:43:41",
- "HAS_READ": 0,
- "flag": "2018-06-22"
- },{
- "ID": 3705,
- "TITLE": "待处理:柏欢测试计划--目标设定",
- "CREATE_DATE": "2018-06-22 20:43:41",
- "PUBLISH_DATE": "2018-06-22 20:43:41",
- "HAS_READ": 0,
- "flag": "2018-06-22"
- } ,{
- "ID": 261,
- "TITLE": "待处理:管信-erp-人力其它-月--员工自评",
- "CREATE_DATE": "2018-05-03 14:04:59",
- "PUBLISH_DATE": "2018-05-03 14:04:59",
- "HAS_READ": 261,
- "flag": "2018-05-03"
- }, {
- "ID": 3706,
- "TITLE": "待处理:柏欢测试计划--目标设定",
- "CREATE_DATE": "2018-06-25 21:43:41",
- "PUBLISH_DATE": "2018-06-25 21:43:41",
- "HAS_READ": 0,
- "flag": "2018-06-22"
- },{
- "ID": 265,
- "TITLE": "待处理:管信-erp-人力其它-月--员工自评",
- "CREATE_DATE": "2018-05-03 15:04:59",
- "PUBLISH_DATE": "2018-05-03 15:04:59",
- "HAS_READ": 265,
- "flag": "2018-05-03"
- }]
- }
let self=this;
- let mapResultUnread=[];
- let mapResultRead=[];
- let mapResult=[];
- for(var i=0;i<res.mapResult.length;i++){
- if(res.mapResult[i].HAS_READ=='0'){
- mapResultUnread.push(res.mapResult[i]); //如果是未读 存进未读数组
- }else{
- mapResultRead.push(res.mapResult[i]); //反之存进已读数组
- }
-
- }
- mapResultUnread.sort(self.sortHAS_REA); //按照时间排序
- mapResultRead.sort(self.sortHAS_REA);//按照时间排序
- mapResult=[...mapResultUnread,...mapResultRead] //合并两个数组
- sortHAS_READ(a,b){ //按照日期排序
- return Date.parse(a.CREATE_DATE) - Date.parse(b.CREATE_DATE)
- }