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

实现判断单词是否含连续相同字母的JS函数,代码错误排查

代码存在的问题
  • 循环边界逻辑错误
    字符串的索引取值范围是0 ~ 单词长度-1,你的代码里循环条件用了i <= word.length和j <= word.length,会导致循环到超出字符串长度的位置,取到undefined值,两个undefined比较也会返回true,产生错误的判断结果。
  • 不符合「连续相同字母」的判断逻辑
    你使用了双层循环,当前的逻辑是只要单词中存在任意两个相同的字母(不管位置是否相邻)就会返回true,比如单词abac会匹配到索引0和索引2的a触发返回,但这两个字母并不连续,不符合需求。
  • 返回时机错误
    你把return false写在了第一层循环内部、第二层循环结束的位置,这会导致第一层循环只执行一次i=0的情况,内层循环遍历结束后就会直接返回false,后续索引的判断逻辑完全不会执行。
优化后的正确代码
module.exports = (word) => {
    // 单层循环直接对比相邻字符即可
    for (let i = 1; i < word.length; i++) {
        // 用严格相等===避免隐式类型转换带来的异常问题
        if (word[i] === word[i-1]) {
            return true
        }
    }
    return false
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:15:01