break 或 continue 循环函数
停止循环是循环中一个常见的需求。使用for
循环我们可以用break
提前结束循环。
1 | const a = [0, 1, 2, 3, 4]; |
另一个常见的需求使我们需要直接取得变量。
一个快速的方式是使用.forEach
,但是这样我们就失去了break
的能力。这种情况下,最接近的方式是使用return
实现continue
的功能。
1 | [0, 1, 2, 3, 4].forEach(function(val, i) { |
.some
是一个原型方法。他用来检测是否某些元素满足所提供的函数。如果任何元素最终返回true
,它就会停止运行。更多解释请看MDN。
引子上面链接的一个例子:
1 | const isBiggerThan10 = numb => numb > 10; |
使用.some
我们拥有了类似.forEach
的功能,而且使用return
实现了break
的效果。
1 | [0, 1, 2, 3, 4].some(function(val, i) { |
你可以返回false
使循环continue
到下一个元素。当你返回true
时,循环将会break
,此时a.some(..)
将会return
true
。
1 | // Array contains 2 |
还有.every
函数同样可以实现此功能。但此时我们需要返回与.some
相反的布尔值。
示例
原文作者: anhr
原文链接: http://yoursite.com/2019/11/04/javascript/2016-08-17-break-continue-loop-functional/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)