'---------'
'-'.repeat(9) // longer!
'------------'
(x='----')+x+x
'-'.repeat(12) // same length
Existe alguma maneira mais inteligente de gerar seqüências de caracteres de até 12 caracteres repetidos em JavaScript?
tips
javascript
Steve Bennett
fonte
fonte
Array(12)+''
, que é mais curto que o literal, começando com 11 vírgulas e depois permanece menor querepeat
.1e11+''
.Respostas:
Infelizmente, depois do que parece uma eternidade de pesquisa na documentação, não consigo encontrar nenhuma solução que funcione com a restrição de 12 caracteres e gere para qualquer caractere fornecido. No entanto, existem alguns truques interessantes que podemos fazer para salvar alguns bytes em casos específicos:
1eL-1+''
dará uma corda, preenchida com9
s, de comprimento L.''.padEnd(L)
dará uma string, cheia de espaços, de comprimento L. Só é útil quando L > 10, caso contrário, é muito longo. Este pode ser imediatamente encadeado com uma função.N/9+''
dará uma string, começando com0.
então seguido por um monte deN
s. Isso não funciona quando N <1 ou N > 8, e o resultado obviamente não contém os mesmos caracteres o tempo todo, mas é bem próximo e muito curto.Array(L)+''
dará uma corda, cheia de vírgulas, de comprimento L - 1.fonte
1/3+''
dica, você pode repetir um dígito D (exceto 0 e 9) várias vezes da mesma formaD/9+''
.Array(L)+''
dáL-1
comprimento, certo?','.repeat(12)