假设当我们只需知道某个数组有没有某个属性,如果找到了直接跳出循环,省略掉剩下的循环步骤是较优化的操作,但是for中是可以利用break跳出循环,但break在forEach中无效,那么forEach能不能跳出循环呢?当然是可以。1.正常for循环break跳出循环1.正常for循环break跳出循环
let strArr = ['a', 'b', 'c', 'd'],

i = 0,

length = strArr.length;
for (; i < length; i++) {

console.log(strArr[i]);//a

if(arr[i] === 'a'){

//do something

};

break;
};
let strArr = ['a', 'b', 'c', 'd'],

i = 0,

length = strArr.length;
for (; i < length; i++) {

console.log(strArr[i]);//a

if(arr[i] === 'a'){

//do something

};

break;
};2.forEach结合try...catch()可以跳出循环2.forEach结合try...catch()可以跳出循环
try {

var arr = [1, 2, 3, 4];

arr.forEach(function (item, index) {

//跳出条件

if (item === 3) {

throw new Error("LoopTerminates");

}

//do something

console.log(item);

});
} catch (e) {

if (e.message !== "LoopTerminates") throw e;
};
try {

var arr = [1, 2, 3, 4];

arr.forEach(function (item, index) {

//跳出条件

if (item === 3) {

throw new Error("LoopTerminates");

}

//do something

console.log(item);

});
} catch (e) {

if (e.message !== "LoopTerminates") throw e;
};以上就是本文的全部内容,希望对大家的学习有所帮助。