【问题标题】:How to concatonate string in iteration loop [duplicate]如何在迭代循环中连接字符串[重复]
【发布时间】:2019-12-07 04:29:28
【问题描述】:

我的输出是

1
1
2
1
2
3

我正在寻找的输出是

1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

var x,y;
for(x=1; x <= 5; x++){
    for (y=1; y <= x; y++) {
        console.log(y)
    }
}

【问题讨论】:

  • 在循环外创建一个变量:var str = "",然后在循环内创建:str += valueYouWantToConcatenate。然后在循环之后记录它
  • 我看不出你的实际输出和预期输出有多大区别,你能详细说明一下吗?
  • @KevinDiTraglia,问题标题:“如何在迭代循环中连接字符串”

标签: javascript iteration


【解决方案1】:

您可以使用一个带有部分变量和一个用于完整字符串的循环。

只有当字符串不为空时才需要添加空格,并在每个循环中将新值和实际部分添加到完整字符串中。

var i,
    part = '',
    full = '';
    
for (i = 1; i <= 5; i++) {
    part += (part && ' ') + i;
    full += (full && ' ') + part;
}

console.log(full);

【讨论】:

  • 这很优雅(不确定它是否更有效,因为字符串连接时间也在增长......)
【解决方案2】:

您每次都在控制台记录,这会将它放在一个新行上。 最好将数字存储在数组中,然后一个一个打印出来。

var x, y, myArray[];
for (x = 1; x <= 5; x++) {
  for (y = 1; y <= x; y++) {
    myString += y.toString() + " ";
  }
}
console.log(myString);

您也可以将数字放入数组中并一个一个输出。

【讨论】:

    【解决方案3】:

    这应该适合你:

    var x, y, concatenatedString = '';
    
    for(x = 1; x <= 5; x++) {
        for (y=1; y <= x; y++) {
            concatenatedString += `${y} `
        }
    }
    console.log(concatenatedString)
    
    

    【讨论】:

      【解决方案4】:

      试试下面的 sn-p:

      var str = ''
      
      for (let i = 1; i <= 5; i++) {
        for (let j = 1; j <= i; j++) {
          str += `${j} `
        }
      }
      
      console.log(str)

      【讨论】:

        【解决方案5】:

        试试这个代码:

        var x,y,z='';
        for(x=1; x <= 5; x++){
            for (y=1; y <= x; y++) {
                z = z + y + ' ';
            }
        }
        console.log(z);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          • 2017-01-30
          • 1970-01-01
          相关资源
          最近更新 更多