网络编程 
首页 > 网络编程 > 浏览文章

JavaScript forEach中return失效问题解决方案

(编辑:jimmy 日期: 2024/11/7 浏览:3 次 )

在最近学习并使用ES6过程中,在一次循环数组并且作判断时返回值无效,return拿到的结果是undefined

我们分别使用for循环和forEach方法来验证:

结果:for循环里的可以return终止遍历,forEach里的return不能终止遍历

JavaScript forEach中return失效问题解决方案

以上是return终止for循环的遍历和forEach循环的遍历测试。

-------------------------------------------------------------- 分 割 线 ---------------------------------------------------------------------------------

我原本要实现的是通过判断条件从而得到一个值返回出去,先来看看效果吧

打印结果如图:

JavaScript forEach中return失效问题解决方案

显然:Array的forEach()方法是不能return的。

我的解决办法是:定义一个变量,把我想返回的值保存下来,最后返回出去 (最佳方法待补充)

控制台打印结果:

JavaScript forEach中return失效问题解决方案

如图成功拿到符合判断条件的这个数了

技术总结:forEach 无法在所有元素都传递给调用的函数之前终止遍历 / 在forEach方法里 return 无效

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:微信小程序开发(一):服务器获取数据列表渲染操作示例
下一篇:原生JS封装拖动验证滑块的实现代码示例
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。