You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现月份季节判断时,如何让匹配不区分大小写?

解决月份不区分大小写匹配的问题

你的代码存在两个关键错误导致失效:

  1. toLowerCase未执行函数调用:你写的const checkMonth = userMonth.toLowerCase只是把函数本身赋值给了checkMonth,并没有实际将输入转为小写,必须加上括号调用函数:userMonth.toLowerCase()。
  2. 数组语法错误:summer数组里的'august'.t是笔误,应该改为'august'。

修正后的完整代码

let userMonth = prompt('Enter the month: ')
// 调用toLowerCase()将输入转为全小写
const checkMonth = userMonth.toLowerCase()

const autumn = ['september', 'october', 'november']
const winter = ['december', 'january', 'february']
const spring = ['march', 'april', 'may']
const summer = ['june', 'july', 'august']

if(autumn.includes(checkMonth)){
  console.log(`${userMonth} is in Autumn`)
} else if (winter.includes(checkMonth)){
  console.log(`${userMonth} is in Winter`)
} else if (spring.includes(checkMonth)){
  console.log(`${userMonth} is in Spring`)
} else {
  console.log(`${userMonth} is in Summer`)
}

进阶优化方案(可选)

如果想让代码逻辑更简洁易维护,可以用对象维护季节与月份的映射关系:

let userMonth = prompt('Enter the month: ')
const lowerMonth = userMonth.toLowerCase()

const seasonMap = {
  autumn: ['september', 'october', 'november'],
  winter: ['december', 'january', 'february'],
  spring: ['march', 'april', 'may'],
  summer: ['june', 'july', 'august']
}

let targetSeason = 'Summer'
for (const [seasonName, months] of Object.entries(seasonMap)) {
  if (months.includes(lowerMonth)) {
    // 首字母大写格式化季节名称
    targetSeason = seasonName.charAt(0).toUpperCase() + seasonName.slice(1)
    break
  }
}

console.log(`${userMonth} is in ${targetSeason}`)

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:02:17