js 的forEach 如何跳出循环「建议收藏」

js 的forEach 如何跳出循环「建议收藏」forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组不会执行回调函数回调函数的参数function(currentValue,index,arr)currentValue必需。当前元素index可选。当前元素的索引值…

大家好,又见面了,我是你们的朋友全栈君。

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);
});

js 的forEach 如何跳出循环「建议收藏」

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下面的代码不再执行而已

js 的forEach 如何跳出循环「建议收藏」

实际上没有达到效果 

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);

js 的forEach 如何跳出循环「建议收藏」

另外 for 循环 可以 用 break 来终止循环

最后给大家分享一个服务器秒杀优惠活动 首年只需要74元  相当优惠呀

【腾讯云】云产品限时秒杀,爆款2核4G云服务器首年74元
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135904.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • gis如何无缝拼接两张图_opencv图像拼接

    gis如何无缝拼接两张图_opencv图像拼接intMyVideoStitcher::Prepare(vector<Mat>&src){ cv::setBreakOnError(true); intnum_images=static_cast<int>(src.size()); if(num_images<2) { printf(“Needmoreimages”); returnSTITCH_CONFIG_ERROR; } intcudaStatus=testG.

  • python bz2模块

    python bz2模块单次压缩和解压缩单次压缩(bz2.compress)In[40]:compressStr=’usebz2moduletocompressstring’In[41]:bz2.compress(compressStr,6)Out[41]:’BZh61AY&SY\xa5i\x9c”\x00\x00\x0f\x99\x80@\x00\x10\x00\x1e\xa7\xde\x

  • 安防知识

    安防知识安全防范的概念定义  安全防范系统(SPS)security&protectionsystem以维护社会公共安全为目的,运用安全防范产品和其它相关产品所构成的入侵报警系统、视频安防监控系统、出入口控制系统、防爆安全检查系统等;或由这些系统为子系统组合或集成的电子系统或网络。  安全防范系统在国内标准中定义为security&protectionsystem(SPS),而国外

  • 机器学习是什么?

    机器学习是什么?WhatisMachineLearning?机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来。不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿

  • jar包反编译工具

    jar包反编译工具在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供具体的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很具体,这对我们使用就非常不方便。  有道是,知其然才知其所以然。有时候,我们…

  • log4j2配置文件详解_log4j升级到log4j2

    log4j2配置文件详解_log4j升级到log4j2Log4j的配置文件用来设置记录器的级别、输出目的地和布局,可以是log4j.properties或log4j.xml。以下讲解以log4j.properties的配置方式进行。配置文件的基本格式基本格式如下:#配置根Loggerlog4j.rootLogger=[level],appenderName1,appenderName2,……#配置日志信息输出目的地(Appe…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号