You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

JavaScript课程闰年判断问题求助:多次尝试仍无法解决

解决JavaScript闰年判断问题的思路与代码实现

嘿,我完全懂你刚学JavaScript时遇到这类逻辑问题卡壳的感觉——别慌,咱们把这个闰年判断的规则拆解开,一步步理清楚逻辑就好办了!

首先再明确一遍题目里的闰年规则,按优先级排序很关键

  • 能被400整除的年份,一定是闰年
  • 排除上面的情况后,能被100整除的年份,不是闰年
  • 再排除上面的情况后,能被4整除的年份,是闰年
  • 剩下的所有年份,都不是闰年

为什么要按这个顺序?因为如果先判断「能被4整除」,像1900年这种能被100整除但不能被400整除的年份,会被错误判定为闰年,所以必须从最特殊的情况(400整除)开始判断。

完整代码实现

function isLeapYear(year) {
  // 第一步:判断是否能被400整除
  if (year % 400 === 0) {
    return true;
  }
  // 第二步:排除400的情况后,判断是否能被100整除
  if (year % 100 === 0) {
    return false;
  }
  // 第三步:排除前两种情况后,判断是否能被4整除
  if (year % 4 === 0) {
    return true;
  }
  // 所有情况都不满足,返回非闰年
  return false;
}

测试几个典型案例验证一下

  • isLeapYear(2000) → 返回 true(符合400整除规则)
  • isLeapYear(1900) → 返回 false(能被100整除但不能被400整除)
  • isLeapYear(2024) → 返回 true(能被4整除,不满足前两个规则)
  • isLeapYear(2023) → 返回 false(都不满足)

你可以把自己尝试过的代码和这个对比下,看看是不是判断顺序搞反了,或者条件写漏了。如果还有细节不清楚,随时问哦!

内容的提问来源于stack exchange,提问作者rkdrper

火山引擎 最新活动