在Perl中,我可以使用以下语法多次重复一个字符:
$a = "a" x 10; // results in "aaaaaaaaaa"
有没有一种简单的方法在Javascript中实现这一点?我显然可以使用一个函数,但我想知道是否有内置的方法,或者其他一些巧妙的技术。
在Perl中,我可以使用以下语法多次重复一个字符:
$a = "a" x 10; // results in "aaaaaaaaaa"
有没有一种简单的方法在Javascript中实现这一点?我显然可以使用一个函数,但我想知道是否有内置的方法,或者其他一些巧妙的技术。
当前回答
如果您不反对在项目中包含库,lodash有一个repeat函数。
_.repeat('*', 3);
// → '***
https://lodash.com/docs#repeat
其他回答
在一个新的ES6和声中,你将有自己的方法来重复。此外,ES6目前只是实验性的,该功能已在Edge、FF、Chrome和Safari中提供
"abc".repeat(3) // "abcabcabc"
当然,如果重复功能不可用,您可以使用旧的好数组(n+1).join(“abc”)
String.prototype.repeat = function (n) { n = Math.abs(n) || 1; return Array(n + 1).join(this || ''); };
// console.log("0".repeat(3) , "0".repeat(-3))
// return: "000" "000"
var stringRepeat = function(string, val) {
var newString = [];
for(var i = 0; i < val; i++) {
newString.push(string);
}
return newString.join('');
}
var repeatedString = stringRepeat("a", 1);
也可用作一个衬垫:
function repeat(str, len) {
while (str.length < len) str += str.substr(0, len-str.length);
return str;
}
Array(10).fill('a').join('')
尽管投票最多的答案有点紧凑,但使用这种方法,您不必添加额外的数组项。