const val = [
{ orderDate: 2, arrivalRule: 3, groupNum: 0, ruleType: 4, startDate: null },
{ orderDate: 7, arrivalRule: 7, groupNum: 0, ruleType: 4, startDate: null },
{ orderDate: 2, arrivalRule: 3, groupNum: 1, ruleType: 4, startDate: null },
{ orderDate: 2, arrivalRule: 3, groupNum: 2, ruleType: 4, startDate: null },
{ orderDate: 2, arrivalRule: 3, groupNum: 2, ruleType: 4, startDate: null },
{ orderDate: 2, arrivalRule: 3, groupNum: 0, ruleType: 4, startDate: null },
{ orderDate: 2, arrivalRule: 3, groupNum: 0, ruleType: 4, startDate: null },
]
// 处理成:
// [
// {
// dateItem: [ { orderDate: 2, arrivalRule: 3, groupNum: 0, ruleType: 4, startDate: null },
// { orderDate: 7, arrivalRule: 7, groupNum: 0, ruleType: 4, startDate: null },
// { orderDate: 2, arrivalRule: 3, groupNum: 0, ruleType: 4, startDate: null },
// { orderDate: 2, arrivalRule: 3, groupNum: 0, ruleType: 4, startDate: null },]
// },
// {
// dateItem: [{ orderDate: 2, arrivalRule: 3, groupNum: 1, ruleType: 4, startDate: null },],
// },
// {
// dateItem : [{ orderDate: 2, arrivalRule: 3, groupNum: 2, ruleType: 4, startDate: null },
// { orderDate: 2, arrivalRule: 3, groupNum: 2, ruleType: 4, startDate: null },]
// }]
// 1.递归
const tempArr = [];
function sss(val) {
if (!val.length) return;
let dateItem = [val[0]];
console.log(dateItem, 'dateItem');
for (let j = 1; j < val.length; j++) {
if (val[0].groupNum === val[j].groupNum) {
dateItem.push(val[j]);
val.splice(j, 1);
j--;
}
}
val.shift();
tempArr.push({
dateItem
})
sss(val);
}
sss(val);
console.log(tempArr, "tempArr");
// 2.
let obj = {}
val.forEach((i)=> {
if(obj[i.groupNum]) {
obj[i.groupNum].push(i)
} else {
obj[i.groupNum] = [i]
}
})
let result = []
for(let i in obj) {
result.push({dataItem: obj[i]})
}
console.log(result, 'result');