【问题标题】:Is there a way to make JavaScript read strings as strings when multipying by numbers?有没有办法让 JavaScript 在乘以数字时将字符串读取为字符串?
【发布时间】:2020-11-20 18:24:53
【问题描述】:

我(使用 JavaScript)试图将 50 个破折号作为横幅输出,如下所示:

"---------------------------------------------- ----"

到目前为止,我已经尝试了以下方法:

let a = []
for (var i = 0; i < 50; i++) {
  a.push("-")
}

console.log(...a)

console.log("-" * 50)

这些不起作用,就像第一个一样,破折号之间有空格。 第二个返回NaN,这也不是我需要的。

我以前在 Python 中执行此操作的常规方法是:

print("-" * 50)

这给出了完美的结果“---------------------------------------- ------------”。

print() 函数相当于 Python 中的console.log()

但是,如前所述,这在 JavaScript 中不起作用。

我还发现这不起作用,因为字符串被解析为数字。

有没有办法实现“--------------------------- -------------” JavaScript 中的横幅,无需手动输入,或者有没有办法确保“-”不被解析为数字?

【问题讨论】:

  • 虽然已经给出了答案,只是为了记录,在您的第一个示例中,您可以执行 console.log(a.join("")); 并且它会起作用

标签: javascript string numbers integer


【解决方案1】:

如果你想使用数组:

let a = Array(50).fill('-').join('')

console.log(a)

【讨论】:

    【解决方案2】:

    let a = []
    for (var i = 0; i < 50; i++) {
      a.push("-")
    }
    
    a=a.toString();
    
    a=a.replace(/,/g,'');
    console.log(a);

    【讨论】:

      【解决方案3】:

      不,javascript 缺少该功能。但是你可以在 ECMAScript6 上使用repeat()

      console.log("-".repeat(50))

      这是Mozilla的参考https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/repeat

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-04
        • 2017-12-10
        • 2014-04-07
        • 2020-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多