如何在 JavaScript 中 return 为空?
How to return null in JavaScript?
有人帮我解决JavaScript中的“星期几练习”吗?
我在MDN上搜索了很多次,但我仍然不明白null是什么,以及如何使用null。
如果参数 (num) 小于 1 或大于 7,函数应该 return null。
const days = ['Monday','Tuesyday','Wednesday','Thursday','Friday','Saturday','Sunday'];
let returnDay = (num) => {
if (1 <= num <= 7) {
return (days[num -1]);
} else {
return null;
}
};
returnDay(1); // Monday
returnDay(7); // Sunday
returnDay(4); // Thursday
returnDay(0); // null
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'
。
希望这个回答对您有所帮助:)
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
有人帮我解决JavaScript中的“星期几练习”吗? 我在MDN上搜索了很多次,但我仍然不明白null是什么,以及如何使用null。
如果参数 (num) 小于 1 或大于 7,函数应该 return null。
const days = ['Monday','Tuesyday','Wednesday','Thursday','Friday','Saturday','Sunday'];
let returnDay = (num) => {
if (1 <= num <= 7) {
return (days[num -1]);
} else {
return null;
}
};
returnDay(1); // Monday
returnDay(7); // Sunday
returnDay(4); // Thursday
returnDay(0); // null
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'
。
希望这个回答对您有所帮助:)
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