每天一条JS小知识点 break 或 continue 循环函数
停止循环是循环中一个常见的需求。使用for循环我们可以用break提前结束循环。
const arr = [0, 1, 2, 3, 4];
for (var i = 0; i < arr.length; i++) {
if (arr[i] === 2) {
break; // stop the loop
}
console.log(arr[i]);
}
// 0, 1
另一个常见的需求使我们需要直接取得变量。
一个快速的方式是使用.forEach,但是这样我们就失去了break的能力。这种情况下,最接近的方式是使用return实现continue的功能。
[0, 1, 2, 3, 4].forEach(function(val, i) {
if (val === 2) {
return true;
}
console.log(val);
});
// 0, 1, 3, 4 并没有停止循环
.some是一个原型方法。他用来检测是否某些元素满足所提供的函数。如果任何元素最终返回true,它就会停止运行。
some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
注意:如果用一个空数组进行测试,在任何情况下它返回的都是false。
用法:
const isBig10 = n => n > 10;
[6, 9, 8, 1, 4].some(isBig10); // false
[16, 5, 7, 3, 9].some(isBig10); // true
使用.some我们拥有了类似.forEach的功能 也就可以使用return实现break的效果。
[0, 1, 2, 3, 4].some(function(val, i) {
if (val === 2) {
return true;
}
console.log(val);
});
// 0, 1