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

JavaScript中二维数组输出出现意外逗号的问题求助

问题解决:二维数组打印时的意外逗号

问题出在你直接对二维数组调用join("\n")——JavaScript会默认把每个子数组转为字符串,而数组转字符串时会用逗号分隔元素,所以才出现了多余的逗号。

只需要修改print方法,先把每个子数组的元素拼接成无分隔符的字符串,再把处理后的行用换行符拼接:

class Field {
  constructor(fieldArr) {
    this.fieldArr = fieldArr;
  }
  get field() {
    return this.print(); 
  }
  print() {
    // 先处理每个子数组,再拼接成行
    const formattedField = this.fieldArr
      .map(row => row.join('')) // 把每个子数组的元素直接连起来
      .join("\n");
    console.log(formattedField);
  }
}

const myField = new Field([
    ["*", "░", "O"],
    ["░", "░", "░"],
    ["O", "░", "O"]
])
myField.print()

运行后就能得到你期望的输出:

*░O
░░░
O░O

另外提一句:你的field getter返回的是print()的结果,但print()里只有console.log,没有返回值,所以myField.field会是undefined。如果需要让getter返回格式化后的字符串,可以修改print方法,让它返回字符串,同时在内部打印:

print() {
  const formattedField = this.fieldArr
    .map(row => row.join(''))
    .join("\n");
  console.log(formattedField);
  return formattedField;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:49:55