const orderData = [
{
dates: "2023-6-24 20:00:00",
startTime: "11:00:00",
endTime: "12:00:00",
serviceName: "1",
userName: "a",
},
{
dates: "2023-6-24 10:00:00",
startTime: "11:00:00",
endTime: "12:00:00",
serviceName: "1",
userName: "a",
},
{
dates: "2023-6-25 09:00:00",
startTime: "11:00:00",
endTime: "12:00:00",
serviceName: "2",
userName: "a",
},
{
dates: "2023-6-25 09:00:00",
startTime: "11:00:00",
endTime: "12:00:00",
serviceName: "3",
userName: "a",
},
{
dates: "2023-6-25 09:00:00",
startTime: "11:00:00",
endTime: "12:00:00",
serviceName: "3",
userName: "a",
},
{
dates: "2023-6-26 09:00:00",
startTime: "11:00:00",
endTime: "12:00:00",
serviceName: "3",
userName: "a",
}
];
// mergeArr(arr,key){
// var afterData=[];
// arr.forEach((item)=>{
// const flag = afterData.find((item1)=> item1[key] === item[key])
// if(!flag){
// const obj={}
// obj[key] = item[key]
// obj['dates'] = [item]
// afterData.push(obj)
// }else{
// flag.dates.push(item)
// }
// })
// return afterData
// }
// let dataInfo={}
// let servicesInfo={}
// orderData.forEach((item)=>{
// let { dates }= item;
// if(!dataInfo[dates]){
// dataInfo[dates] = {
// dates,
// services:[]
// }
// }
// dataInfo[dates].services.push(item);
// });
// let list = Object.values(dataInfo);
// console.log(list)
// const arr2 = []
// orderData.forEach((item, index) => {
// const has = arr2.findIndex(o => o.dates.split(" ")[0] === item.dates.split(' ')[0]);
// if (has == -1) {
// arr2.push({
// days: item.dates,
// services: [item.serviceName]
// })
// } else {
// arr2[has].services.push(item.serviceName)
// }
// })
// // let list = Object.Values(arr2);
// console.log(arr2)
let arr = []
let obj1 = []
let obj2 = []
let a = []
let b = []
for (let i = 0; i < orderData.length; i++) {
if (!obj1.some(item => item.dates.split(' ')[0] === orderData[i].dates.split(' ')[0])) {
obj1.push(orderData[i])
arr.push({
days: orderData[i].dates.split(' ')[0],
// services:[]
// services: {
// // serviceName: orderData[i].serviceName,
// serviceName: [
// { orderTime: [] }
// ]
// }
})
if (!obj2.some(item => item.serviceName === orderData[i].serviceName)) {
obj2.push(orderData[i].serviceName)
arr.push(
{
services: [{
serviceName: orderData[i].serviceName,
orderTime: []
}
]
}
)
} else {
for (let j = 0; j < arr.length; j++) {
if (arr[j].serviceName === orderData[i].serviceName) {
arr[j].services.push(JSON.stringify({ serviceName: orderData[i].serviceName }))
}
}
}
}
// else {
// for (let k = 0; k < arr.length; k++) {
// if (arr[k].days === orderData[i].dates.split(' ')[0]) {
// arr[k].services.push(JSON.stringify({ serviceName: orderData[i].serviceName }))
// arr[k].services.orderTime.push(JSON.stringify({
// startTime: orderData[i].startTime,
// endTime: orderData[i].endTime
// }))
}
}
}
// if (!a.some(item => item.serviceName === orderData[i].serviceName)) {
// a.push({
// serviceName: orderData[i].serviceName,
// orderTime: []
// })
// }else{
// for (let j=0;j<a.length;j++){
// if(a[j].serviceName === orderData[i].serviceName){
// a[j].orderTime.push(JSON.stringify(
// {
// startTime:orderData[i].startTime,
// endTime:orderData[i].endTime
// })
// )
// }
// }
// }
}
console.log(arr)