const result = {};
const arr = [
{ time: '10:00' },
{ time: '11:00' },
{ time: '12:00' },
{ time: '13:00' },
{ time: '17:00' },
{ time: '18:00' },
{ time: '19:00' },
{ time: '20:00' },
{ time: '21:00' },
{ time: '23:00' },
{ time: '22:00' },
];
const splitNum = 1; //间隔超过1个小时就认为不连续
let partNum = 1;
arr.sort((a, b) => parseInt(a.time) - parseInt(b.time)).map((value, index) => {
if (index === 0) {
result[`part_${partNum}`] = [value];
return
}
if (parseInt(value.time) - parseInt(arr[index - 1].time) > splitNum) {//不连续
partNum += 1;
result[`part_${partNum}`] = [];
}
result[`part_${partNum}`].push(value);
})
console.log(result);
// {
// part_1: [
// { time: '10:00' },
// { time: '11:00' },
// { time: '12:00' },
// { time: '13:00' }
// ],
// part_2: [
// { time: '17:00' },
// { time: '18:00' },
// { time: '19:00' },
// { time: '20:00' },
// { time: '21:00' },
// { time: '22:00' },
// { time: '23:00' }
// ]
// }
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…