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

为什么我的JavaScript if语句无法正常工作,检测连续重复字母总返回false?

代码问题原因

你的代码核心问题出在循环内的else分支逻辑:

  • 你在第一次判断第1位和第2位字符是否相等之后,不管结果如何都会直接返回,循环只会执行1次就终止,永远不会检查后续字符。如果前两位字符不相等,会直接返回false,哪怕后面存在连续重复字符也不会被检测到。
  • 参考代码的逻辑是:只有整个循环遍历完所有字符,都没有找到连续相等的字符时,才会在循环结束后返回false,不会中途提前结束判断。

举个测试示例就能明显看出差异,比如输入"abbb":
你的代码第一次判断letters[0] = 'a'和letters[1] = 'b'不相等,直接进入else返回false,直接忽略了后面的bb连续重复的情况,结果不符合预期。

修复方案

只需要把你代码里的else { return false }删掉,将return false的逻辑移到for循环外部即可,修改后的代码如下:

const doubleLetters = word => {
   let letters = word.split('')
   for(let i = 0; i < letters.length; i++){
      if (letters[i] === letters[i + 1]){
         return true
      }
   }
   return false
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:30:06