为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 中如何返回 null?

JavaScript 中如何返回 null?

郎朗坤 2023-09-21 09:58:58
有人帮我解决 JavaScript 中的“星期几练习”吗?我搜索了MDN并尝试了很多次,但我仍然不明白null是什么,以及如何使用null。如果参数(num)小于 1 或大于 7,则该函数应返回 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); // MondayreturnDay(7); // SundayreturnDay(4); // ThursdayreturnDay(0); // null
查看完整描述

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'。


查看完整回答
反对 回复 2023-09-21
?
慕田峪7331174

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


查看完整回答
反对 回复 2023-09-21
  • 2 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信