欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

js中Array.forEach跳出循环的方法实例

时间:2022-02-02 09:34:27|栏目:JavaScript代码|点击:

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

总结

上一篇:JavaScript实现开关等效果

栏    目:JavaScript代码

下一篇:js 闭包深入理解与实例分析

本文标题:js中Array.forEach跳出循环的方法实例

本文地址:http://www.codeinn.net/misctech/192089.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有