let arr = [
{
time: '8:00',
state: 1,
},
{
time: '12:00',
state: 0,
},
{
time: '13:00',
state: 0,
},
{
time: '15:00',
state: 0,
},
];
let current_time = this.time_sf('8:20');
if (current_time > this.time_sf(arr[arr.length-1].time)) { //大于最后一次打卡时间
if (arr[arr.length-1].state == 0) {
console.log('最后一次下班打卡');
return;
} else {
console.log('今天打卡完成');
return;
}
}
for (let p in arr) {
let i = parseInt(p);
if (this.time_sf(arr[i].time) > current_time) {
if (i == 0) { //第一次上班正常打卡
console.log('第一次上班正常打卡');
return;
} else if (arr[i - 1].state == 0) { // 如果上一次的状态等于未打卡
if (i % 2 == 0) { //下班打卡 0,2
console.log(`第${i - 1}次下班打卡`);
} else { //上班打卡 1,3
console.log(`第${i - 1}次迟到打卡`);
}
return;
} else if (arr[i].state == 0) { //如果这次的状态等于未打卡
//第i次正常打卡
console.log(`第${i}次正常打卡`);
return;
}
}
}
this.time_sf() 是转成分钟的一个函数