我有一个分配给in_timings变量的对象数组。我想检查对象的某些条件,以便为执行做准备。 我不知道我做错了什么,但循环似乎是在我没想到的块上执行。
in_timings:TimeInModel[];
...........
fetchTimeIns(){
this.employeesService.getTimeIn()
.subscribe(result=>this.in_timings = result,
error => this.errorMessage = <any>error);
}
.......................
...............
for(let in_timing of this.in_timings)
{
if(in_timing.employee_id===emp_id && in_timing.is_active===true){
console.log("You have already checked in!");
}
else if((in_timing.employee_id===emp_id && in_timing.is_active===false) || this.in_timings.length<0){
console.log("Add another row here...");
}
else{
console.log("All conditions exhausted!");
}
}
在图像中,它显示第一个语句已执行,最后一个语句执行两次。
答案 0 :(得分:0)
就我理解你的问题而言,如果任何一个条件成立,你想break
执行。这样做会使您的代码只运行一个块。
只需在日志后添加break
关键字。
for(let in_timing of this.in_timings)
{
if(in_timing.employee_id===emp_id && in_timing.is_active===true){
console.log("You have already checked in!");
break;
}
else if((in_timing.employee_id===emp_id && in_timing.is_active===false) || this.in_timings.length<0){
console.log("Add another row here...");
break;
}
else{
console.log("All conditions exhausted!");
break;
}