gpt4 book ai didi

javascript - 为什么这个函数找不到可整除的数字并打印 `undefined` ?

转载 作者:行者123 更新时间:2023-12-03 07:20:12 25 4
gpt4 key购买 nike

此函数始终返回 undefined 并打印 "Numbers divisible not found!"。我还是不明白为什么。有帮助吗?

var numeros = [0, 9, 4, 7, 128, 42, -1, 301, -5]

function buscarDivisivelPor(array, num) {
for (var i = 0; i < array.length; i++) {
if (array[i] % num != 0) {
continue
}
else if (array[i] % num == 0 && array[i] != 0) {
return array[i]
}
else {
console.log("Numbers divisible not found!")
}
}
}

console.log(buscarDivisivelPor(numeros, 100))

最佳答案

在这部分代码中:

console.log(buscarDivisivelPor(numeros, 100))

您打印 buscarDivisivelPor(numeros, 100) 的返回值。

但由于您没有在最后一个 else 子句中返回任何内容,因此如果没有数字符合您的条件,它将打印 undefined

此外,函数的 else if 子句中的 console.log 将打印可被提供的数字整除的任何值。

您的逻辑中还有一个错误:"Numbers divisible not found!" 在数组的元素为零时打印,否则它会被第一个 if 捕获 或第二个 else if。看看如果您使用 [0,0,0,0] 作为输入数组会发生什么。

如果找不到可整除的数字,您可以通过提供默认返回值来解决所有这些问题:

var numeros = [0, 9, 4, 7, 128, 42, -1, 301, -5];

function buscarDivisivelPor(array, num) {
for (var i = 0; i < array.length; i++) {
if (array[i] % num != 0) {
continue;
} else if (array[i] % num == 0 && array[i] != 0) {
return array[i];
}
}
return "Numbers divisible not found!";
}

console.log(buscarDivisivelPor(numeros, 100));
// "Numbers divisible not found!"

关于javascript - 为什么这个函数找不到可整除的数字并打印 `undefined` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62783037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com