2 回答

TA貢獻1895條經驗 獲得超7個贊
1 <= num <= 7不做你認為它做的事。在 JavaScript 中,二元運算符是從左到右計算的。1 <= num <= 7確實 也是如此,(1 <= num) <= 7它是true <= 7或者false <= 7(取決于num是什么)。無論哪種方式,它都會計算為true,但不要問我為什么,因為無論如何你都不應該將布爾值與數字進行比較。由于條件始終為true,else因此分支永遠不會執行,因此您永遠不會得到null。
我想你想寫的是:
if (1 <= num && num <= 7) {
...
} else {
...
}
此外,請記住數組索引以 開頭0。在你的例子中,days[1]將是'Tuesday',而不是'Monday'。

TA貢獻1828條經驗 獲得超13個贊
我希望這個答案對你有幫助:)
const days = ['Monday', 'Tuesyday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
const returnDay = (num) => {
const day = num - 1;
if (days[day]) { // since you passing 0 there is no such element in the array at index -1,
//so if statement essentially evaluates to false and returning null right away;
return days[day];
}
return null;
};
console.log(returnDay(1)); // Monday
console.log(returnDay(7)); // Sunday
console.log(returnDay(4)); // Thursday
console.log(returnDay(0)); // null
添加回答
舉報