执行以下程序,输出结果为()
var arr = [2,1,3,5,9];
var count = 0;
arr.forEach((val1,val2)=>{
count++;
if(count % 3 == 0){
return;
}
console.log(val1);
})
var arr = [2,1,3,5,9]; var count = 0; arr.forEach((val1,val2)=>{//arr = [2,1,3,5,9]; count++; //第一次循环count++为0 if(count % 3 == 0){ //第一次循环count为1,不满足条件,不进入if条件里 return; } console.log(val1);//第一次循环val1=2 }) arr.forEach((val1,val2)=>{//arr = [2,1,3,5,9]; count++; //第二次循环count++为1 if(count % 3 == 0){ //第二次循环count为2,不满足条件,不进入if条件里 return; } console.log(val1);//第二次循环val1=1 }) arr.forEach((val1,val2)=>{//arr = [2,1,3,5,9]; count++; //第三次循环count++为2 if(count % 3 == 0){ //第三次循环count为3,满足条件,进入if条件里 return; //return跳出本次循环,不执行后续代码 } console.log(val1);//第三次循环没执行到这 }) arr.forEach((val1,val2)=>{//arr = [2,1,3,5,9]; count++; //第四次循环count++为3 if(count % 3 == 0){ //第四次循环count为4,不满足条件,不进入if条件里 return; } console.log(val1);//第四次循环val1=5 }) arr.forEach((val1,val2)=>{//arr = [2,1,3,5,9]; count++; //第五次循环count++为4 if(count % 3 == 0){ //第五次循环count为5,不满足条件,不进入if条件里 return; } console.log(val1);//第五次循环val1=9 })
return false;//仍然会执行完循环,但不再执行循环后面的js代码 let arr = [2,31,3] arr.forEach((val, index) => { if(val===31) { return false } console.log('执行第' + index + '次数') }) 执行第0次数 执行第2次数 其中val =31 这一次的循环return false以后的代码不再执行
forEach() 本身是不支持的 continue 与 break 语句的,我们可以通过 some 和 every 来实现。