例如:
/*
*由[{
* 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
}