我不知道如何讓我的代碼回傳第一個奇數,如果沒有奇數回傳未定義。我在做什么錯/需要研究?我的三個要求是;
1 回傳奇數陣列中的第一個奇數
2 當它是陣列中的最后一個數字時,回傳第一個奇數
3 沒有奇數時回傳 undefined
function firstOdd(arg){
for (let i=0; i <= arg.length; i )
if (i % 2 !== 0) {
return(i)
} else {
return undefined;
}
}
預先感謝您對我的友善。
uj5u.com熱心網友回復:
退出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]))
uj5u.com熱心網友回復:
您可以使用以下代碼。由于陣列從索引 0 開始,所以陣列的最后一個索引將是 (arg.length-1)。這就是我迭代直到索引小于陣列長度的原因。一旦它找到奇數,它就會回傳并且函式終止。如果沒有奇數,默認情況下該函式將回傳 'undefined' 。希望你會明白。
function firstOdd(arg) {
for (let i = 0; i < arg.length; i )
if (i % 2 !== 0) {
return arg[i];
} else {
continue;
}
return undefined;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/506844.html
標籤:javascript 功能
上一篇:無法使用字串輸出JavaScript回傳大數和最小數
下一篇:如何修復此錯誤:TypeError:unsupportedoperandtype(s)for*:'float'and'function'inpython