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

如何在JavaScript中实现数组元素x遍历所有位置的函数?

实现xRunning函数的正确方式

需求回顾

调用xRunning(["x", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"])需要返回一组数组,其中"x"依次从第一个位置移动到最后一个位置,其余位置保持为"-"。

你的代码问题分析

你当前的实现存在两个核心问题:

  1. 只返回单个数组:需求是返回多个数组(数量和输入数组长度一致),但你的函数仅返回了修改后的原数组。
  2. 错误修改所有元素:循环中把所有非"x"的元素都改成了"x",导致最终数组全是"x",完全不符合"x依次移动"的要求。

正确实现代码

function xRunning(array) {
  const result = [];
  const length = array.length;
  // 循环生成每个位置的数组
  for (let i = 0; i < length; i++) {
    // 创建一个全为"-"的新数组
    const newArr = Array(length).fill("-");
    // 在当前索引位置设置为"x"
    newArr[i] = "x";
    // 将新数组加入结果列表
    result.push(newArr);
  }
  return result;
}

代码解释

  1. 初始化结果数组:result用来存储所有生成的子数组。
  2. 循环遍历每个位置:循环次数等于输入数组的长度,对应"x"要移动的每个位置。
  3. 创建新数组:每次循环都生成一个新的全"-"数组,避免修改原数组或之前生成的数组。
  4. 设置当前位置的"x":在当前循环的索引i处将元素设为"x"。
  5. 收集结果:把生成的新数组加入result,最后返回整个结果列表。

验证调用结果

调用xRunning(["x", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"])会返回:

[
  ["x", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"],
  ["-", "x", "-", "-", "-", "-", "-", "-", "-", "-", "-"],
  ["-", "-", "x", "-", "-", "-", "-", "-", "-", "-", "-"],
  // ... 中间省略
  ["-", "-", "-", "-", "-", "-", "-", "-", "-", "x", "-"],
  ["-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "x"]
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:20:24