Repetir una cadena en JavaScript varias veces
En Perl puedo repetir un carácter varias veces usando la sintaxis:
$a = "a" x 10; // results in "aaaaaaaaaa"
¿Existe una forma sencilla de lograr esto en Javascript? Obviamente puedo usar una función, pero me preguntaba si había algún enfoque integrado o alguna otra técnica inteligente.
Hoy en día, el repeat
método de cadena se implementa en casi todas partes. (No está en Internet Explorer ). Entonces, a menos que necesite admitir navegadores más antiguos, simplemente puede escribir:
"a".repeat(10)
Antes repeat
, usábamos este truco:
Array(11).join("a") // create string with 10 a's: "aaaaaaaaaa"
(Tenga en cuenta que una matriz de longitud 11 le proporciona solo 10 "a", ya que Array.join
coloca el argumento entre los elementos de la matriz).
Simon también señala que, según este punto de referencia , parece que es más rápido en Safari y Chrome (pero no en Firefox) repetir un carácter varias veces simplemente agregándolo usando un bucle for (aunque un poco menos conciso).
En una nueva armonía ES6, tendrás una forma nativa de hacer esto con repetición . Además, ES6 por ahora solo es experimental, esta característica ya está disponible en Edge, FF, Chrome y Safari.
"abc".repeat(3) // "abcabcabc"
Y seguramente, si la función de repetición no está disponible, puedes usar la versión anterior.Array(n + 1).join("abc")