猿问

请问“返回”关键字在“for每一项”功能中的含义是什么?

“返回”关键字在“for每一项”功能中的含义是什么?

$('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>

我的问题是:为什么我打电话的时候,它还是会提醒下一个号码?return?就像:忽略下面的代码并继续使用Next元素


慕尼黑5688855
浏览 378回答 3
3回答

白板的微信

从Mozilla开发人员网络:没有办法阻止或破坏forEach()循环,而不是抛出异常。如果您需要这样的行为,forEach()方法是错误的工具。提前终止可通过以下方式完成:一个简单的循环A&nbsp;for...of环路Array.prototype.every()Array.prototype.some()Array.prototype.find()Array.prototype.findIndex()其他Array方法:every(),&nbsp;some(),&nbsp;find(),和findIndex()用一个返回真实值的谓词测试数组元素,以确定是否需要进一步的迭代。

慕姐4208626

使用forEach,为了停止迭代而抛出一个错误是一种非常糟糕的做法,而且是一种过度的做法。在您的情况下,您不想真正地迭代全的数组(forEach.),但是您希望在满足特定语句之前运行。您应该为它使用一个简单的循环(while,&nbsp;for,&nbsp;for in,&nbsp;do while).&nbsp;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答