forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组不会执行回调函数

回调函数的参数 function(currentValue, index, arr)

currentValue 必需。当前元素
index 可选。当前元素的索引值
arr 可选。当前元素所属的数组对象
之前没有注意 如何 跳出循环,一直做if 判断做出操作,直到有一次有这样的需求 才发现 break 和 return false 无效
let arr =[1,2,3,4,5,6,7,8]
// 直接就报错了
arr.forEach(function(item,index){
if (item === 4) {
break;
}
alert(item);
});
let arr =[1,2,3,4,5,6,7,8]
arr.forEach(function(item,index){
if (item === 4) {
return false
}
console.log(item);
});
期望 会遍历数组所有元素,只是执行到第4次,return false下面的代码不再执行而已
实际上没有达到效果
return fasle 只是中止本次继续执行,而不是终止循环
解决办法 可以通过抛出异常的方式终止循环
try {
let arr =[1,2,3,4,5,6,7,8]
// 执行到第4次,结束循环
arr.forEach(function(item,index){
if (item === 4) {
throw new Error(“EndIterative”);
}
console.log(item);// 1,2,3
});
} catch(e) {
if(e.message!=”EndIterative”) throw e;
};
// 下面的代码不影响继续执行
console.log(10);
另外 for 循环 可以 用 break 来终止循环
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/147503.html