如何使用 for 循环在 JavaScript 中创建逗号分隔的字符串而不添加尾随逗号?

问题描述 投票:0回答:1

我正在学习 JavaScript 并练习使用 for 循环进行字符串操作。我正在尝试构建一个多次重复某个单词的字符串,用逗号分隔,但末尾不留多余的逗号。

这是一个例子:

  • 输入:
    "hello", 3
  • 预期输出:
    "hello,hello,hello"

这是我到目前为止编写的代码:

function repeatWord(word, times) {
  let result = "";
  for (let i = 0; i < times; i++) {
    result += word + ",";
  }
  return result; // This adds an extra comma at the end. How can I fix this?
}

我尝试过的事情

  1. 使用 for 循环在每次迭代中添加单词和逗号。但是,我还没弄清楚如何防止在最后一个单词后面添加额外的逗号。
  2. 我研究了字符串操作技术,发现像
    Array.join()
    这样的方法可以轻松处理这个问题:
Array(times).fill(word).join(",");

但我特别想使用 for 循环来提高我对循环和条件附加字符的理解。

  1. 我已经查看了 MDN for 循环文档和初学者教程,但大多数都侧重于基本迭代或添加固定模式,而没有解决如何排除尾随字符。

我的目标是将代码修改为:

  • 多次重复一个单词。
  • 在每个重复之间添加逗号。
  • 避免在最后一个单词后添加尾随逗号。

这个练习帮助我学习如何有效地使用循环来构建字符串,所以我希望得到一个专注于使用 for 循环而不是替代方法的解释。

javascript loops
1个回答
0
投票

您可以添加条件并检查

result
。如果为空则取,否则取逗号添加。

function repeatWord(word, times) {
    let result = "";
    for (let i = 0; i < times; i++) {
        result += (result && ',') + word;
    }

    return result;
}
console.log(repeatWord('hello', 1));
console.log(repeatWord('hello', 2));
console.log(repeatWord('hello', 3));

© www.soinside.com 2019 - 2024. All rights reserved.