我不知道如何让我的代码返回第一个奇数,如果没有未定义的奇数返回。我做错了什么/需要研究什么?我的三个要求是;
1返回奇数数组中的第一个奇数。
2当第一个奇数是数组中的最后一个数时,返回它。
3当没有奇数时返回未定义的
function firstOdd(arg){
for (let i=0; i <= arg.length; i++)
if (i % 2 !== 0) {
return(i)
} else {
return undefined;
}
}
谢谢先进学院对我的好意。
发布于 2022-09-10 01:46:27
您可以使用以下代码。因为数组从索引0开始,所以数组的最后一个索引将是(arg.ength-1),这就是为什么我要迭代直到索引小于数组长度为止。一旦它找到奇数,它就返回该值并终止函数。如果没有奇数,默认情况下,该函数将返回“未定义”。希望你能理解。
function firstOdd(arg) {
for (let i = 0; i < arg.length; i++)
if (i % 2 !== 0) {
return arg[i];
} else {
continue;
}
return undefined;
}
发布于 2022-09-10 01:54:16
把return undefined
从循环中拿出来。只有当这些数字中没有一个是偶数时才是真的。然后,确保使用arg[i]
测试数组中的值。您使用的是索引i
本身。
function firstOdd(arg){
for (let i=0; i < arg.length; i++) {
if (arg[i] % 2 === 1) {
return arg[i]
}
}
return undefined;
}
console.log(firstOdd([1,3,5,7,9]))
console.log(firstOdd([2,4,6,8,9]))
console.log(firstOdd([2,4,6,8,10]))
https://stackoverflow.com/questions/73668729
复制相似问题