我正在使用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)
除了使用Array.forEach,您还可以使用Array.some(请参阅docs)。此函数遍历数组的元素,检查是否有任何元素满足特定条件。如果找到满足条件的元素,则函数停止迭代,然后返回true。如果不是,则该函数返回false。这意味着您也可以跳过初始化conditionMet为的步骤false。
因此,您的代码可以简化为:
let conditionMet = numbers.some(number => (number % 3 === 0));
Run Code Online (Sandbox Code Playgroud)