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

React项目中选择下拉框指定值后for循环不生效是什么原因

问题成因

你遇到的问题核心是变量类型不匹配:从下拉框获取的startDate和endDate为字符串类型,循环判断时执行的是字符串字典序比较,而非数值大小比较,最终导致判断逻辑不符合预期。

对应现象解释

  • 选择from为9、to为10时:获取到的两个值为字符串"9"和"10",字典序比较中"9"的首字符ASCII码远大于"10"的首字符"1",因此"9" <= "10"判断结果为false,循环直接不执行,无控制台输出。
  • 两个下拉框都选9时:字符串"9"和"9"相等,判断成立,循环执行1次,输出正常。
  • 选择from为10、to为11时:两个字符串首字符都是"1",第二位"0"小于等于"1",判断成立,循环正常执行。
  • 选择from为9、to为11时:同样首字符"9"大于"11"的首字符"1",判断不成立,循环不执行。
解决方法

在获取下拉框值后,先将其转换为数字类型再赋值给startDate和endDate即可,转换示例:

// 两种常用转换方式二选一即可
const startDate = Number(你的from下拉框取值逻辑);
const endDate = +你的to下拉框取值逻辑;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 21:45:03