关于es6:ES6小金库

forEach终止循环

谬误用法一:应用break(会报错)


var array = ["第一","第二","第三","第四"];
        
// 间接就报错了
array.forEach(function(item,index){
    if (item == "第三") {
        break;
    }
    alert(item);
});

谬误用法二:应用return false(会跳过以后项,持续循环)

相当于for 循环中的continue

var array = ["第一","第二","第三","第四"];
        
// 会遍历数组所有元素,只是执行跳过"第三",return false上面的代码不再执行而已
array.forEach(function(item,index){
    if (item == "第三") {
        return false;
    }
    console.log(item);// "第一" "第二" "第四"
});
console.log("以下代码")// 以下代码

正确用法:使用try catch(抛出异样)


try {
    var array = ["第一","第二","第三","第四"];
    
    // 执行到第3次,完结循环
    array.forEach(function(item,index){
        if (item == "第三") {
            throw new Error("第三");
        }
        console.log(item);// 第一 第二
    });
} catch(e) {
    if(e.message!="第三") throw e;
};
// 上面的代码不影响继续执行
console.log("下方代码");//下方代码

参考原文

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理