js中Array.forEach跳出循环的方法实例
作者:陌生的L君 发布时间:2024-05-11 09:32:22
标签:array.foreach,跳出,循环
目录
forEach()方法
js中 Array.forEach如何跳出循环
解决方式:
总结
forEach()方法
语法:array.forEach(callback(currentvalue,index,arr) ,thisValue)
其中
callback为数组中每个元素执行的函数,该函数可接受1-3个参数:
currentvalue参数表示数组的当前元素项,必须的参数
index参数表示的当前元素下标,可选参数
arr参数表示当前元素所属的数组,可选参数
thisValue表示执行回调函数callback()时的this指向。可选参数。当不写时,则默认是指向window全局
示例
var arr = [1, 3, 5, 13, 2];
var res = arr.forEach(function(item,index) {
console.log(`数组第${index+1}个元素是${item}`);
})
console.log(res);//forEach的返回值为undefined,
运行结果:
js中 Array.forEach如何跳出循环
forEach是不能通过break或者return跳出循环的,一般跳出循环的方式为抛出异常:
try {
let array = [1, 2, 3, 4]
array.forEach((item, index) => {
if (item === 3) {
throw new Error('end')//报错,就跳出循环
} else {
console.log(item)
}
})
} catch (e) {
}
这种写法反而很麻烦。
解决方式:
1.使用every替代:
let array = [1, 2, 3, 4]
array.every((item, index) => {
if (item === 3) {
return true
} else {
console.log(item)
}
})
2.自己写一个😁
//可跳出循环的数组遍历
Array.prototype.loop = function(cbk) {
//判断当前数组是否为空
if (this?.length) {
for (let i = 0; i < this.length; i++) {
let stop = cbk(this[i], i, this)
//判断是否停止循环
if (stop) {
break
}
}
}
}
let array = [1, 2, 3, 4]
array.loop ((item, index) => {
if (item === 3) {
return true
} else {
console.log(item)
}
})
来源:https://blog.csdn.net/qq_34157798/article/details/120016609


猜你喜欢
- 本文实例为大家分享了python批量梯度下降算法的具体代码,供大家参考,具体内容如下问题:将拥有两个自变量的二阶函数绘制到空间坐标系中,并通
- 相信很多与页面打过交道的同学都对 Yahoo 的 Best Practices for Speeding Up Your Web Site
- 请问鼠标移过去就出现二级菜单代码怎么写啊 <head><style type="tex
- 1. 什么是同源策略 理解跨域首先必须要了解同源策略。同源策略是浏览器上为安全性考虑实施的非
- 1.plt.pie()饼图 常常用来显示 整体中各部分所占的比例,在python-matplotlib库中通过plt.pie()方法来实现。
- 一、前言一个非常强的反爬虫方案 —— 禁用所有 HTTP 1.x 的请求!现在很多爬虫库其实对 HTTP/2.0 支持得不好,比如
- os模块中的fork方法可以创建一个子进程。相当于克隆了父进程os.fork()子进程运行时,os.fork方法会返回0; 而父进
- python中bool数组取反操作由于Python中使用数字0,1 代表Flase,Ture 。所以bool数组不能像matlab一样直接进
- 如下所示:import numpynew_list = [i for i in range(9)]numpy.array(new_list)
- tf.keras.layers.Conv2D() 函数Conv2D (二维卷积层)这一层创建了一个卷积核,它与这一层的输入卷积以产生一个输出
- 引言在 Linux 服务器上,磁盘空间的使用情况是一个非常重要的指标。如果服务器上的磁盘空间不足,可能会导致服务器崩溃,影响网站的正常运行。
- 在登陆界面中,通常,最重要的部分为登陆的Form表。一个非常棒的提升体验的做法是,在载入页面时自动聚焦到第一个提供用户输入的表单框,让用户不
- 在网络上的Pandas教程中,很多都提到了如何使用Pandas将已有的数据(如csv,如hdfs等)直接加载成Pandas数据对象,然后在其
- 好了,看看我们的代码吧:upload.htm' 上传页面<html> <body>&nb
- Springboot连接数据库第一步springboot继承Mybatis及数据库连接依赖(上一篇文章已经记录 ) 第二步reso
- 开发客户端客户是持有TPCoins并从网络上的其他供应商处交换商品/服务的客户,包括他自己的.我们应该为此目的定义 Client&
- 假设有这样一个任务,希望对某个文件夹(包括所有子文件夹与文件)中的所有文件进行处理。这就需要遍历整理目录树, 处理遇到的每个文件。impor
- Pycharm本身并不带编译器,所以第一次用需要自己下载编译器插件。1、首先去 https://www.python.org/downloa
- Pytorch版本介绍torch:1.6CUDA:10.2cuDNN:8.1.0✨安装 NVIDIA 显卡驱动程序一般 电脑出厂/装完系统
- 我们可以通过高级API更简洁地实现多层感知机。import torchfrom torch import nnfrom d2l import