重复N次

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

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

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


现在, repeat字符串方法几乎可以在任何地方执行。 所以最好的方法是:

"a".repeat(10)

repeat之前,我们必须使用这个黑客:

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

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

Simon还指出,根据这个jsperf,似乎Safari和Chrome(但不是Firefox)通过简单地使用for循环追加多次重复字符(尽管稍微简洁一些)会更快。


在一个新的ES6和谐中,你可以用原生的方式来重复这样做。 此外ES6现在只是实验性的,这个功能已经在Edge,FF,Chrome和Safari中可用

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

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


方便,如果你重复自己很多:

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


alert('Are we there yet?nNo.n'.repeat(10))
链接地址: http://www.djcxy.com/p/68579.html

上一篇: Repeat Character N Times

下一篇: How to know the repeating decimal in a fraction?