'---------'
'-'.repeat(9) // longer!
'------------'
(x='----')+x+x
'-'.repeat(12) // same length
¿Hay alguna forma más inteligente de generar cadenas de hasta 12 caracteres repetidos en JavaScript?
tips
javascript
Steve Bennett
fuente
fuente
Array(12)+''
, que es más corto que el literal que comienza en 11 comas y luego sigue siendo más corto querepeat
.1e11+''
.Respuestas:
Desafortunadamente, después de lo que parece una eternidad de buscar documentación, parece que no puedo encontrar ninguna solución que funcione con la restricción de 12 caracteres y se genere para cualquier carácter dado. Sin embargo, hay algunos trucos geniales que uno puede hacer para guardar algunos bytes para casos específicos:
1eL-1+''
dará una cuerda, llena de9
s, de L longitud.''.padEnd(L)
dará una cuerda, llena de espacios, de longitud L. Solo es útil cuando L > 10, de lo contrario es demasiado largo. Este se puede encadenar inmediatamente con una función.N/9+''
dará una cadena, comenzando con0.
luego seguida por un montón deN
s. Esto no funciona cuando N <1 o N > 8, y el resultado obviamente no contiene los mismos caracteres en todo el camino, pero es bastante cercano y bastante corto.Array(L)+''
dará una cadena, llena de comas, de longitud L - 1.fuente
1/3+''
punta, puede repetir un dígito D (excepto 0 y 9) varias veces de manera similar conD/9+''
.Array(L)+''
daL-1
longitud, ¿verdad?','.repeat(12)