在使用foreach 做循环时使用return 没有效果;
forEach没办法终止(异常除外。)
var multipleFlag = true;
this.singleRow.forEach(element => {
if(element.itemState == '2'){
multipleFlag = true;
return multipleFlag
}else{
multipleFlag = false;
return multipleFlag
}
});
return multipleFlag;
解决方法
1、 使用some函数替换foreach
var multipleFlag = true;
this.singleRow.some(element => {
if(element.itemState == '2'){
multipleFlag = true;
return multipleFlag
}else{
multipleFlag = false;
return multipleFlag
}
});
return multipleFlag;
2、使用 for循环替换foreach
var multipleFlag = -1;
for (let index = 0; index < this.singleRow.length; index++) {
const element = this.singleRow[index];
if(element.itemState == '2'){
multipleFlag +=1;
}
}
return multipleFlag > 0? true:false;
var multipleFlag = true;
for (let index = 0; index < this.singleRow.length; index++) {
const element = this.singleRow[index];
if(element.itemState == '2'){
multipleFlag = true;
break;
}else{
multipleFlag = false;
}
}
return multipleFlag ;