'---------'
'-'.repeat(9) // longer!
'------------'
(x='----')+x+x
'-'.repeat(12) // same length
Apakah ada cara yang lebih pintar untuk menghasilkan string hingga 12 karakter yang berulang dalam JavaScript?
tips
javascript
Steve Bennett
sumber
sumber
Array(12)+''
, yang lebih pendek daripada literal dimulai dari 11 koma dan kemudian tetap lebih pendek darirepeat
.1e11+''
.Jawaban:
Sayangnya, setelah apa yang tampak sebagai keabadian mencari dokumentasi, saya tidak bisa menemukan solusi apa pun yang akan bekerja dengan batasan 12 karakter dan menghasilkan untuk setiap karakter yang diberikan. Namun, ada beberapa trik rapi yang bisa dilakukan untuk menghemat beberapa byte untuk kasus-kasus tertentu:
1eL-1+''
akan memberikan string, diisi dengan9
s, dengan panjang L.''.padEnd(L)
akan memberikan string, diisi dengan spasi, panjang L. Ini hanya berguna ketika L > 10, jika tidak terlalu lama. Yang ini dapat segera dirantai dengan suatu fungsi.N/9+''
akan memberikan string, dimulai dengan0.
kemudian diikuti oleh sekelompokN
s. Ini tidak berfungsi ketika N <1 atau N > 8, dan hasilnya jelas tidak mengandung karakter yang sama sepanjang jalan, tetapi cukup dekat dan cukup singkat.Array(L)+''
akan memberikan string, diisi dengan koma, dengan panjang L - 1.sumber
1/3+''
ujung Anda, Anda dapat mengulangi digit D (kecuali 0 dan 9) beberapa kali sama denganD/9+''
.Array(L)+''
memberiL-1
panjang, kan?','.repeat(12)