Javascript Array forEach()中无法return和break,代替方法some()与every()

xiaoxiao2021-02-28  67

我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环使用break会报错,使用return也不能跳出循环。

使用break将会报错:

var arr = [1,2,3,4,5]; var num = 3; arr.forEach(function(v){ if(v == num) { break; } console.log(v); });

使用return也不能跳出整个循环:

var arr = [1,2,3,4,5]; var num = 3; arr.forEach(function(v){ if(v == num) { return; } console.log(v); });

针对这个问题可以使用数组的另外两个方法some()every()

some():当内部return true时跳出整个循环

var arr = [1,2,3,4,5]; var num = 3; arr.some(function(v){ if(v == num) { return true; } console.log(v); });

every():当内部return false时跳出整个循环

var arr = [1,2,3,4,5]; var num = 3; arr.every(function(v){ if(v == num) { return false; }else{ console.log(v); return true; } });

转载请注明原文地址: https://www.6miu.com/read-39308.html

最新回复(0)