在Perl中,我可以使用以下语法多次重复一个字符:
$a = “a” x 10; // results in “aaaaaaaaaa”
有没有简单的方法可以在Javascript中完成此操作? 我显然可以使用函数,但是我想知道是否有任何内置方法或其他一些巧妙的技术。
#1楼
/**
* Repeat a string `n`-times (recursive)
* @param {String} s – The string you want to repeat.
* @param {Number} n – The times to repeat the string.
* @param {String} d – A delimiter between each string.
*/
var repeat = function (s, n, d) {
return –n ? s + (d || “”) + repeat(s, n, d) : “” + s;
};
var foo = “foo”;
console.log(
“%s\n%s\n%s\n%s”,
repeat(foo), // “foo”
repeat(foo, 2), // “foofoo”
repeat(foo, “2”), // “foofoo”
repeat(foo, 2, “-“) // “foo-foo”
);