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

CodeWars Take a Ten Minute Walk Kata JavaScript代码错误排查求助

代码存在的问题:

  • 长度判断逻辑提前返回,导致后续坐标校验完全不会执行。只要walk长度是10就直接返回true,完全没有校验是否回到起点,这是无法通过对应测试的核心原因。
  • 循环中第一个判断误用赋值运算符=而非相等比较运算符===,会直接修改遍历的数组元素值,导致判断逻辑完全错误。
  • 循环内每个条件分支都加了return,会导致第一次遍历就直接退出函数,根本无法统计完所有方向的步数。
  • 循环变量i未声明直接使用,会隐式创建全局变量,属于不规范写法。

修正后的代码:

function isValidWalk(walk) {
  // 长度不符合直接返回false
  if (walk.length !== 10) return false;

  let north = 0, south = 0, east = 0, west = 0;

  // 统计各方向步数
  for (let i = 0; i < walk.length; i++) {
    if (walk[i] === 'n') north++
    else if (walk[i] === 's') south++
    else if (walk[i] === 'e') east++
    else if (walk[i] === 'w') west++
  }

  // 判断是否回到起点
  return north === south && east === west;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:48:00