Repetir una cadena en JavaScript varias veces

Resuelto Steve asked hace 14 años • 24 respuestas

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.

Steve avatar Dec 10 '09 05:12 Steve
Aceptado

Hoy en día, el repeatmé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.joincoloca 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).

Jason Orendorff avatar Dec 09 '2009 22:12 Jason Orendorff

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")

Salvador Dali avatar May 02 '2014 21:05 Salvador Dali