原始数据
let data = [
{
time: '2021-04-23 12:00:00',
text: '吃饭'
},
{
time: '2021-04-25 12:00:00',
text: '吃饭'
},
{
time: '2021-04-25 24:00:00',
text: '睡觉'
},
]
需要数据
data = [
{
day: '2021-04-23',
data: [
{
time: '2021-04-23 12:00:00',
text: '吃饭'
},
]
},
{
day: '2021-04-25',
data: [
{
time: '2021-04-25 12:00:00',
text: '吃饭'
}, {
time: '2021-04-25 24:00:00',
text: '睡觉'
},
]
}
]
方法一
data () {
return {
data: [
{
time: '2021-04-23 12:00:00',
text: '吃饭'
},
{
time: '2021-04-25 12:00:00',
text: '吃饭'
},
{
time: '2021-04-25 24:00:00',
text: '睡觉'
}
],
formatterData: []
}
},
mounted () {
this.data.forEach(o => {
const time = o.time.split(' ')[0]
if (~this.formatterData.findIndex(o1 => time === o1.day)) return
const arr = this.data.filter(o1 => !!~o1.time.indexOf(time))
this.formatterData.push({ day: time, o: arr })
})
console.log(this.formatterData)
}
方法二
data () {
return {
data: [
{
time: '2021-04-23 12:00:00',
text: '吃饭'
},
{
time: '2021-04-25 12:00:00',
text: '吃饭'
},
{
time: '2021-04-25 24:00:00',
text: '睡觉'
}
],
arr2: [],
formatterData: []
}
},
mounted () {
let newData = []
for (let i = 0; i < this.data.length; i++) {
let date = this.data[i].time.substring(0, 10)
newData.push(date)
}
let dateArr = []
dateArr = [... new Set(newData)]
console.log(dateArr) // 日期去重
for (let i = 0; i < dateArr.length; i++) {
this.arr2 = []
for (let j = 0; j < this.data.length; j++) {
if (dateArr[i] === this.data[j].time.substring(0, 10)) {
let obj2 = {
time: this.data[j].time,
text: this.data[j].text
}
this.arr2.push(obj2)
}
}
let obj = {
day: dateArr[i],
data: this.arr2
}
this.formatterData.push(obj)
}
console.log(this.formatterData)
}