What does `return` keyword mean inside `forEach` function? [duplicate]

2020/11/15 06:41 · javascript ·  · 0评论

$('button').click(function () {
   [1, 2, 3, 4, 5].forEach(function (n) {
      if (n == 3) {
         // it should break out here and doesn't alert anything after
         return false
      }
      alert(n)      
   })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>

My question: Why does it still alert next number although I call return? Just like: Ignore the code below and continue with next element

来自Mozilla开发人员网络

除了forEach()引发异常外,没有其他方法可以停止或中断循环。如果您需要这种行为,该forEach()方法是错误的工具。

提前终止可以通过以下方式完成:

另一个阵列的方法:every()some()find(),和findIndex()测试使用谓词返回truthy值的数组元素,以确定是否需要进一步的迭代。

return退出当前功能,但反复不断,所以你得到的“下一个”项目是跳过if和警报的4 ...

如果您需要停止循环,则应该使用普通for循环,如下所示:

$('button').click(function () {
   var arr = [1, 2, 3, 4, 5];
   for(var i = 0; i < arr.length; i++) {
     var n = arr[i]; 
     if (n == 3) {
         break;
      }
      alert(n);
   })
})

您可以在此处阅读有关js break和继续的更多信息:http : //www.w3schools.com/js/js_break.asp

本文地址:http://javascript.askforanswer.com/what-does-return-keyword-mean-inside-foreach-function-duplicate.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!