如何提前退出Array.forEach循环?

1 javascript foreach loops

我正在使用JavaScript处理作业问题。我有一个当前有效的解决方案,但是我确信这不是最有效的方法。我正在遍历数组以检查是否有任何元素满足特定条件。但是似乎没有办法forEach()提早退出该功能。在其他语言中,我习惯于break提前退出forEach循环。JavaScript中是否存在类似的内容?

我的代码(此问题的简化):

let conditionMet = false;

numbers.forEach((number) => {
  if (number % 3 === 0) {
    conditionMet = true;
    // break; <-- does not work!
  }
});
Run Code Online (Sandbox Code Playgroud)

Vin*_*nce 5

除了使用Array.forEach,您还可以使用Array.some请参阅docs)。此函数遍历数组的元素,检查是否有任何元素满足特定条件。如果找到满足条件的元素,则函数停止迭代,然后返回true。如果不是,则该函数返回false。这意味着您也可以跳过初始化conditionMet为的步骤false

因此,您的代码可以简化为:

let conditionMet = numbers.some(number => (number % 3 === 0));
Run Code Online (Sandbox Code Playgroud)