【问题标题】:Javascript join() arrayJavascript join() 数组
【发布时间】:2015-09-27 15:37:15
【问题描述】:

这可能非常简单,但我正在尝试使用 join() 数组来从 days 数组的最后一项中删除 -

我该怎么做?这是我的代码:

var days = [
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thursday',
  'Friday',
  'Saturday',
  'Sunday'
];

var counter = 0;
while (counter < days.length) {
  document.write(days[counter]);
  counter++;
  days.join(' - ');
}

【问题讨论】:

  • 怎么会有-?我可以看看你的 html 吗?
  • .join() 函数返回一个字符串。你只需要document.write(days.join(",")); 而没有循环。
  • default join character 是逗号 (,) 所以只是 days.join()
  • @RobG 但是有一个空格.... join(", ")
  • 我不明白问题是什么或你遇到了什么问题。您在循环中调用days.join(),但对返回的字符串不执行任何操作,因此这是毫无意义的代码行。此外,您的问题文本是指删除-,但您的代码中根本没有这样的字符。

标签: javascript arrays


【解决方案1】:

您不需要循环。很简单:

    var days = [
      'Monday',
      'Tuesday',
      'Wednesday',
      'Thursday',
      'Friday',
      'Saturday',
      'Sunday'
    ];

    document.write(days.join(", "));

我不推荐使用 document.write。这很危险。改用 DOM 方法:

document.getElementById("layer").innerHTML = days.join(", ");

HTML 就这么简单:

<div id="layer"></div>

【讨论】:

  • 我不知道这是否是 OP 试图询问的正确猜测(问题非常不清楚),但如果是这样,你为什么不把你的代码放到一个工作sn-p?
  • 这是stackoverflow整个生命周期中出现的最简单的代码哈哈哈,所以如果你很着急,我会用sn-p编辑,别着急。
  • 只是一个关于如何让你的答案更好的建议。我猜你不喜欢这样的建议。
  • @Marcos 谢谢。那么在这种情况下,join() 也可以作为循环工作?是的,我知道不建议使用 document.write bla bla bla .. 但这只是我正在编写的测试。
  • 是的,join 会迭代所有数组并使用您定义的模式创建一个字符串,在此示例中为逗号和空格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2020-11-13
  • 2021-10-05
相关资源
最近更新 更多