Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中创建N次字符串的最有效方法是什么?_Javascript_String - Fatal编程技术网

在JavaScript中创建N次字符串的最有效方法是什么?

在JavaScript中创建N次字符串的最有效方法是什么?,javascript,string,Javascript,String,我有一个字符(“-”)和一个数字(80),它应该在字符串中重复。 我需要将该字符的字符串重复给定的次数: ------------------------------------------------------------------------------------------------------------- 我知道我可以在循环中执行result+=myCharxn次。我认为这不是很有效。有更好的方法吗 我所说的最有效率是指:最快的好吧,在几分钟的比赛后,我能想到的最好办法是:

我有一个字符(“
-
”)和一个数字(
80
),它应该在字符串中重复。 我需要将该字符的字符串重复给定的次数:

-------------------------------------------------------------------------------------------------------------
我知道我可以在循环中执行
result+=myChar
xn次。我认为这不是很有效。有更好的方法吗


我所说的最有效率是指:最快的好吧,在几分钟的比赛后,我能想到的最好办法是:

String.prototype.repeat = function (len) {
    return (new Array(len + 1)).join(this);
}

console.log('-'.repeat(5));


不幸的是,正如两分钟前用正确的答案评论的那样,它的价格降低了一点。叹气…

在这里看一看:用你的角色替换“0”。你可以执行
(新数组(81))。如果你想要不显式编码循环的简短内容,请加入('-')
。(但我假设
.join()
是通过循环实现的。)您可以在@nnnnnn测试性能,而不是自己使用循环。@nnnnnn二叉树方法很好,但是如果已知长度上限,您可以只存储一个包含80个破折号的全局字符串,然后使用子字符串。你不会比这更快的。类似地,一个生成字符串的函数可以缓存生成的字符串,并且只在需要时进一步生成。做某事的最佳方法不是很适合,所以…@kalley我尝试在该页面上实现我的优化。当缓存长度足够重要时(我尝试了30),速度会快得多,但在其他情况下会慢得多(正如您所期望的)