【问题标题】:Fastest way to append a character N times [duplicate]追加一个字符N次的最快方法[重复]
【发布时间】:2020-03-05 08:47:19
【问题描述】:

我正在做一个关于 Javascript 的问题,我必须在其中附加破折号 N 次。 自然地,我运行了一个 for 循环。

for (var i=0; i<num; i++)
{
newStr+="-";
}

但后来我意识到,如果我在一个循环中添加两个破折号,我可以将运行时间减半。

for (var i=0; i<num/2; i++)
{
newStr+="--"
}
if (num%2==1)
{
newStr+=1;
}

因此,如果我在一个循环中添加三个破折号,我可以在 1/3 的时间内切入吗?

但是添加太多会以某种方式使其回到原点。

最快/最佳的方法是什么?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    你可以使用String.prototype.repeat:

    newStr += '-'.repeat(num)
    

    let newStr = 'foo';
    const num = 5;
    newStr += '-'.repeat(num)
    console.log(newStr);

    【讨论】:

    • 我不知道这个。在看到你之前我在想Array(num).fill("-").join("")
    • 或 padEnd(n,"-")
    • 看起来 OP 正在尝试将 num 破折号添加到现有字符串中,无论原始字符串有多长,所以我认为 padEnd 不会完成这项工作
    • str.padEnd(str.length+num,"-")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多