根据日期来划分一个数组,将同一日期的归为统一的数组中

例如:

 /*
    *由[{
    *    activityId: '121', // 操作Id
    *    projectId: '122222', // 所属项目Id
    *    activityType: 1, // 操作类型,如增删改查,0表示新增、1表示更新、2表示删除
    *    fileName: '分析实验', // 操作内容名称
    *    moduleName: '实验', // 操作内容所属模块名称
    *    moduleItemId: '111111', // 操作内容的具体Id
    *    activityUser: '乔', // 操作用户
    *    'activityTime': '2018-05-31T17:58:35' // 操作时间
    *    }]
    * 这种格式数组根据日期分类转为
    * [{activityTime: '2018-05-31',
    * childrenList:[
    * {
    *    activityId: '121', // 操作Id
    *    projectId: '122222', // 所属项目Id
    *    activityType: 1, // 操作类型,如增删改查,0表示新增、1表示更新、2表示删除
    *    fileName: '分析实验', // 操作内容名称
    *    moduleName: '实验', // 操作内容所属模块名称
    *    moduleItemId: '111111', // 操作内容的具体Id
    *    activityUser: '乔', // 操作用户
    *    'activityTime': '2018-05-31T17:58:35' // 操作时间
    * }]
    * }]
    *生成所需的对象数组
    */

代码如下:

 produceNewArray = arr => {
        let newArr = []
        arr &&
            arr.forEach((item, i) => {
                let index = -1
                let alreadyExists = newArr.some((newItem, j) => {
                    if(item.activityTime === newItem.activityTime) {
                        index = j
                        return true
                    }
                })
                console.log('alreadyExists------>', alreadyExists)
                if(!alreadyExists) {
                    newArr.push({
                        activityTime: item.activityTime,
                        childrenList: [
                            {
                                activityId: item.activityId,
                                projectId: item.projectId,
                                activityType: item.activityType,
                                fileName: item.fileName,
                                moduleName: item.moduleName,
                                moduleItemId: item.moduleItemId,
                                activityUser: item.activityUser,
                                activityTime: item.activityTime
                            }
                        ]
                    })
                } else {
                    newArr[index].childrenList.push({
                        activityId: item.activityId,
                        projectId: item.projectId,
                        activityType: item.activityType,
                        fileName: item.fileName,
                        moduleName: item.moduleName,
                        moduleItemId: item.moduleItemId,
                        activityUser: item.activityUser,
                        activityTime: item.activityTime
                    })
                }
            })
        return newArr

    }
   /*
    *根据返回时间轴数据按照天来划分的func
    *把一个数组根据日期来组成另一个数组
    */
    ByDayfilterData = data => {
        let newData = []
        if(data) {
            for(let i = 0; i < data.length; i++) {
                newData.push(
                    Object.assign({}, data[i], {
                        activityTime: data[i].activityTime.slice(0, 10)
                    })
                )
            }
        }
        return newData

    }
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值