Javascript Array forEach()中无法return和break,代替方法some()与every()「建议收藏」

Javascript Array forEach()中无法return和break,代替方法some()与every()「建议收藏」我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环使用break会报错,使用return也不能跳出循环。使用break将会报错:vararr=[1,2,3,4,5];varnum=3;arr.forEach(function(v){if(v==num){break;}console.log

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

我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环使用break会报错,使用return也不能跳出循环。

使用break将会报错:

var arr = [1,2,3,4,5];
var num = 3;
arr.forEach(function(v){
   if(v == num) {
       break;
   }
   console.log(v);
});

这里写图片描述

使用return也不能跳出整个循环:

var arr = [1,2,3,4,5];
var num = 3;
arr.forEach(function(v){
   if(v == num) {
       return;
   }
   console.log(v);
});

这里写图片描述

针对这个问题可以使用数组的另外两个方法some()every()

some():当内部return true时跳出整个循环

var arr = [1,2,3,4,5];
var num = 3;
arr.some(function(v){
   if(v == num) {
       return true;
   }
   console.log(v);
});

这里写图片描述

every():当内部return false时跳出整个循环

var arr = [1,2,3,4,5];
var num = 3;
arr.every(function(v){
   if(v == num) {
       return false;
   }else{
       console.log(v);
       return true;
   }
});

这里写图片描述

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

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

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

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

(0)


相关推荐

  • linux基本操作命令_vim常用命令

    linux基本操作命令_vim常用命令1.查找文件find/-name*文件名*2.开始、重启、结束进程#开始进程systemctlstartfilebeat#重启systemctlrestartfilebeat#结束systemctlstopfilebeat3.转到目录#从根目录开始搜索文件夹cd/文件名/#从当前目录开始cd文件名/4.编辑文件#编辑vim文件名vi文件名#查看cat文件名5.从编辑状态退出#先按Esc

  • 十个PHP 高级工程经典面试题[通俗易懂]

    十个PHP 高级工程经典面试题

  • 汉诺塔递归算法流程图_汉诺塔算法递归表达式

    汉诺塔递归算法流程图_汉诺塔算法递归表达式(5)练习3—汉诺塔(Hanoi)编程实现把A的n个盘子移动到C(盘子编号是[1,n])每次只能移动1个盘子大盘子只能放在小盘子下面1、汉诺塔—1个盘子2、汉诺塔—2个盘子3、汉诺塔—3个盘子3、汉诺塔—思路其实分2种情况讨论即可(1)当n==1时,直接将盘子从A移动到C(2)当n>1时,可以拆分成3大步骤①将n–1个盘子从A移动到B②将编号为n的盘子从A移动到C③将n–1个盘子从B移动到C

    2022年10月24日
  • vue 时间戳转换成yyyy-MM-dd hh:mm[通俗易懂]

    vue 时间戳转换成yyyy-MM-dd hh:mm[通俗易懂]data的就是文件直接引入exportfunctionformatDate(date,fmt){if(/(y+)/.test(fmt)){fmt=fmt.replace(RegExp.$1,(date.getFullYear()+”).substr(4-RegExp.$1.length));}leto={‘M…

    2022年10月20日
  • NOIP2011 提高组合集「建议收藏」

    NOIP2011 提高组合集「建议收藏」NOIP2011提高组合集D1T1铺地毯模拟,题目让你干啥你就干啥#include<iostream>#include<cstdio>usingnamespacestd;intx[100010],y[100010],dx[100010],dy[100010];intmain(){intn;…

  • npm使用国内淘宝镜像

    npm使用国内淘宝镜像原文地址:https://blog.csdn.net/quuqu/article/details/64121812介绍安装NodeJS之后使用npm来安装包使用的是国外的地址,经常会出现超时错误,可以通过修改为国内的淘宝源来加速安装。配置临时使用npm–registryhttps://registry.npm.taobao.orginstallexpress永久使用直…

    2022年10月23日

发表回复

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

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