JavaScript中的 map, forEach 无法跳出循环, return和 break不起作用,可以使用every 和 some方法

在我们平时使用习惯中,for循环里要跳出整个循环是使用break,但在数组中用forEach循环或者map如要退出整个循环使用break会报错,使用return也不能跳出循环,以下我们就来探索一下正确的跳出循环方案

一、先看一下案例

1、forEach函数

案例1 : 使用break报错

let arr = [1,2,3,4,5];
const a = 3;
arr.forEach( (item, index) => {if ( item === a ) {break;}console.log( item );
});

在这里插入图片描述
案例2: 使用return不退出循环

在这里插入图片描述

2、map函数

案例1 : 使用break报错

let arr = [1,2,3,4,5];
arr.map( item => {if ( 3 == item ) {break;}console.log( item );return item;
});

在这里插入图片描述
案例2: 使用return不退出循环

let arr = [1,2,3,4,5];
arr.map( item => {if ( 3 == item ) {return;}console.log( item );return item;
});

在这里插入图片描述

二、想跳出循环可以使用every 和 some方法,下面是简单的总结:

1、some : 当内部return true时跳出整个循环

let arr = [1,2,3,4,5];
arr.some( item => {if ( 3 == item ) {return true;}console.log( item );
}); 

在这里插入图片描述

2、every : 当内部return false时跳出整个循环(需要写 return true )

let arr = [1,2,3,4,5];
arr.every( item => {if ( 3 == item ) {return false;}else{console.log( item );return true;}
}); 

在这里插入图片描述
答疑】两种没写 return true 情况下,打印信息:

在这里插入图片描述
备注】: 这里没写 return true,与写了return true,打印出来的数据是不一样的,大家根据自己需求酌情考虑采用何种方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20494.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信算法之176: 基于Matlab的OFDM通信系统关键基带算法设计6-流程

一. 接收算法流程 粗同步(分组检测) 载波同步(精细频偏估计) 精同步(OFDM起始,符号同步) 1.4 信道估计(长序列) 1.5 信道均衡(所有数据OFDM符号&#xff…

存css实现动态时钟背景

代码实现 <!DOCTYPE html> <html lang"en"> <head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>Title</title><meta name"referrer" content"no-referrer…

全球仅他一家!对甲方无情说“不”的顶尖效果图工作室,到底有多牛?

这个建筑&#xff0c;相信上海的小伙伴和喜欢看戏剧表演的朋友肯定不陌生。没错&#xff0c;它就是“上海大歌剧院”。它最大的亮点就是那座通天的旋转楼梯&#xff0c;如同一把展开的扇子&#xff0c;具有浓厚的东方美学特色。 歌剧院的设计构思固然巧妙&#xff0c;但同样离不…

数字化时代:虚拟数字人的智能进化与生活变革

我们需要实现对人工智能的有效监管。政府应该与科技公司合作&#xff0c;建立监管框架&#xff0c;确保人工智能的发展能够在保护人类利益的基础上进行。人工智能的快速发展带来了巨大的机遇&#xff0c;但同时也伴随着一些潜在的风险。如果没有适当的监管措施&#xff0c;人工…

【c++修行之路】智能指针

文章目录 前言为什么用智能指针智能指针简单实现unique_ptrshared_ptr 循环引用和weak_ptr的引入循环引用weak_ptr 定制删除器 前言 大家好久不见&#xff0c;今天来学习有关智能指针的内容~ 为什么用智能指针 假如我们有如下场景&#xff1a; double Div() {int x, y;cin …

STM32+PWM+输入捕获测频

外部时钟&#xff0c;主频64M 定时器1 通道1发出PWM波 频率1K 定时器2 通道1输入捕获&#xff0c;上升沿触发 串口 /* USER CODE BEGIN 0 */ uint32_t time_up_num0;//上升沿计数 float time_frequency;//频率 /* USER CODE END 0 */ 初始换打开定时器 /* USER CODE BEGIN 2 …

mapBox 绘制多边形无法设置 边框宽度 解决方法

目录 一、问题 二、解决方法 三、总结 tips:如嫌繁琐&#xff0c;直接看有颜色的文字即可&#xff01; 一、问题 1.使用mapBox在地图上绘制点、线、面。绘制多边形的时候发现 直接用 zh(一家提供地图引擎的公司),提供的绘制多边形的方法无法设置边框颜色和边框宽度。很是离…

Linux登录时,下游回显非常慢

目录 问题现象 原因分析 解决方法 源码等资料获取方法 问题现象 登录linux时&#xff0c;远程连接正常&#xff0c;[root...]回显非常慢&#xff0c;在执行脚本时&#xff0c;很容易导致命令下发错乱 原因分析 家目录下的.bash_history文件太大&#xff0c;导致每次登陆时读…

SQLSERVER的truncate和delete有区别吗?

一&#xff1a;背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 &#xff0c;这是一个很有意思的话题&#xff0c;本篇我就试着来回答一下&#xff0c;如果下次大家遇到这类问题&#xff0c;我的答案应该可以帮你成功度过吧。 二&#xff1…

特斯拉降价阴影下,智己如何「登高」?

作者 | 刘然 来源 | 洞见新研社 都说背靠大树好乘凉&#xff0c;但背靠上汽集团的智己汽车&#xff0c;反而水深火热。 2021年&#xff0c;在智己正式向外界公布了“豪华纯电智能轿车”智己L7之后&#xff0c;其CEO刘涛曾放出豪言&#xff1a;“我们在未来的很多年后再回顾今…

【TI毫米波雷达笔记】DCA1000EVM+mmWave Studio数据采集的MIMO模式设置(多天线发射工作模式)

【TI毫米波雷达笔记】DCA1000EVMmmWave Studio数据采集的MIMO模式设置&#xff08;多天线发射工作模式&#xff09; 以IWR6843AOP为例 其为3发4收的雷达 MIMO模式有两种 TDM-MIMO和BPM-MIMO TDM-MIMO模式&#xff08;时分复用&#xff09; TDM-MIMO模式是最简单和常用的MIM…

【机器学习】特征降维 - 方差选择法VarianceThreshold

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 方差选择法 一、方差科普二、方差选择API三、获取数…