所以我试图创建一个函数,它将向我显示可被2整除的FIRST偶数。要分割的值在数组内,另一个函数帮助我确定数组中的值是否可被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; });
答案 0 :(得分:2)
我相信你的阵列已关闭。
而不是
for(var i = arr[0]; i <= arr[arr.length-1]; i++) {
应该是
for(var i = 0; i <= arr.length-1; i++) {
否则,您也可以验证未定义的数组索引。
答案 1 :(得分:1)
请删除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; }));