初始返回数据:
trainDetails=[{
"id": 1,
'active':'羽毛球',
"startDate": "2015-05-11"
}, {
"id": 2,
'active':'篮球',
"startDate": "2015-05-10"
}, {
"id": 3,
'active':'乒乓球',
"startDate": "2016-05-09"
}, {
"id": 4,
'active':'排球',
"startDate": "2016-05-08"
}, {
"id": 5,
'active':'网球',
"startDate": "2016-05-07"
}]
期望效果:
2015年5月:
羽毛球
篮球
2016年5月:
乒乓球
排球
网球
判断年月相同则放进同一个数组,不相同则新建一个数组
handleData(){
let newArr = []
let n = 0
let yearMonths = ''
let first = this.trainDetails[0].startDate.split('-')
yearMonths = first[0]+'年' + first[1] + '月'
newArr[n] =[this.trainDetails[0]]
newArr[n]. yearMonths = yearMonths // 先将第一组数据放进数组,然后判断后一组数据与前一组数据,年月是否相同,相同就放进该组数组,不相同则新建一个数组
for(let i=1;i<this.trainDetails.length;i++){
let current = this.trainDetails[i].startDate.split('-')
let before = this.trainDetails[i-1].startDate.split('-')
yearMonths = current[0]+'年' + current[1] + '月'
if(current[0]=== before[0] && current[1]=== before[1]){
newArr[n].push(this.trainDetails[i])
}else{
n++
newArr[n] =[]
newArr[n]. yearMonths = yearMonths
newArr[n].push(this.trainDetails[i])
}
}
}