在 JavaScript 中多次重复一个字符串

2022-08-29 22:28:30

在Perl中,我可以使用以下语法多次重复一个字符:

$a = "a" x 10; // results in "aaaaaaaaaa"

有没有一种简单的方法可以在Javascript中实现这一点?我显然可以使用函数,但我想知道是否有任何内置方法或其他一些聪明的技术。


答案 1

如今,重复字符串方法几乎无处不在。(它不在 Internet Explorer 中。因此,除非您需要支持较旧的浏览器,否则您可以简单地编写:

"a".repeat(10)

之前,我们用了这个技巧:repeat

Array(11).join("a") // create string with 10 a's: "aaaaaaaaaa"

(请注意,长度为 11 的数组只能得到 10 个“a”,因为将参数放在数组元素之间Array.join

Simon还指出,根据这个基准测试,在Safari和Chrome(但不是Firefox)中,通过简单地附加for循环(尽管有点不那么简洁)来多次重复一个字符似乎更快。


答案 2

在新的ES6和谐中,您将有本地方式通过重复来做到这一点。同样,ES6现在只是实验性的,这个功能已经在Edge,FF,Chrome和Safari中可用。

"abc".repeat(3) // "abcabcabc"

当然,如果重复功能不可用,您可以使用旧好Array(n + 1).join("abc")