// 使用 Array.prototype.forEach 的示例,但无法直接退出循环
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(item) {
if (item === 3) {
// 尝试使用 return,但这只会退出当前迭代,不会终止整个循环
return;
}
console.log(item);
});
// 正确的方式是使用 for 循环或 Array.prototype.some,因为它们可以提前退出
let arr = [1, 2, 3, 4, 5];
// 使用 for 循环
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 3) {
break; // 退出循环
}
console.log(arr[i]);
}
// 使用 Array.prototype.some
arr.some(function(item) {
if (item === 3) {
return true; // 返回 true 提前退出循环
}
console.log(item);
return false; // 返回 false 继续下一次迭代
});
forEach
方法不能直接退出循环,即使使用 return
只会跳过当前迭代,而不会终止整个循环。for
循环或者 Array.prototype.some
方法。some
方法会在返回 true
时提前退出循环,而 for
循环可以通过 break
语句来实现提前退出。Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站