循环不会中断 javascript
Loop won't break in javascript
所以我正在尝试创建一个函数,它将向我显示第一个可被 2 整除的偶数。要除的值在数组中,另一个函数帮助我确定数组中的值是否可整除通过 2. 问题是循环不会中断,循环会一直持续到数组的最后一个值。我希望它在找到第一个可被 2 整除的数字后中断。因此,在这种情况下,一旦循环达到数组中的值 8 就应该停止,但它不会停止并一直持续到 10。我希望你能帮助我
这是我的代码:
function findElement(arr, func) {
var num = 0;
arr.sort();
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
if(func(arr[i])) {
num = arr[i];
break;
}
if(!func(arr[i])) {
num = undefined;
}
}
return num;
}
findElement([1, 3, 5, 8, 9, 10], function(num){ return num % 2 === 0; });
我相信你的 for over array 是关闭的。
而不是
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
应该是
for(var i = 0; i <= arr.length-1; i++) {
否则,您还不如验证未定义的数组索引。
请删除 arr.sort() 你的函数可以找到
请找到更新后的代码。它工作正常 运行 并检查。
function findElement(arr, func) {
var num = 0;
// arr.sort();
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
if(func(arr[i])) {
num = arr[i];
break;
}
if(!func(arr[i])) {
num = undefined;
}
}
return num;
}
console.log(findElement([1, 3, 5, 8, 9, 10], function(num){ return num % 2 === 0; }));
所以我正在尝试创建一个函数,它将向我显示第一个可被 2 整除的偶数。要除的值在数组中,另一个函数帮助我确定数组中的值是否可整除通过 2. 问题是循环不会中断,循环会一直持续到数组的最后一个值。我希望它在找到第一个可被 2 整除的数字后中断。因此,在这种情况下,一旦循环达到数组中的值 8 就应该停止,但它不会停止并一直持续到 10。我希望你能帮助我
这是我的代码:
function findElement(arr, func) {
var num = 0;
arr.sort();
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
if(func(arr[i])) {
num = arr[i];
break;
}
if(!func(arr[i])) {
num = undefined;
}
}
return num;
}
findElement([1, 3, 5, 8, 9, 10], function(num){ return num % 2 === 0; });
我相信你的 for over array 是关闭的。
而不是
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
应该是
for(var i = 0; i <= arr.length-1; i++) {
否则,您还不如验证未定义的数组索引。
请删除 arr.sort() 你的函数可以找到 请找到更新后的代码。它工作正常 运行 并检查。
function findElement(arr, func) {
var num = 0;
// arr.sort();
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
if(func(arr[i])) {
num = arr[i];
break;
}
if(!func(arr[i])) {
num = undefined;
}
}
return num;
}
console.log(findElement([1, 3, 5, 8, 9, 10], function(num){ return num % 2 === 0; }));