- 締切済み
アルファベットABCD…をスマートに出力したい
javascriptで、画面上に ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz と出力しようと思います。 普通に考えたら 【1】 document.write(’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’); なんですが、出力結果をそのまま打っている感じでなんかコードが好きになれません。 【2】 var big ='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var small='abcdefghijklmnopqrstuvwxyz'; document.write(big+small); ですと上よりちょっときれいに見えますが、結局aからzを一度打ってることには変わりませんよね。 文字列を出力するのに、もうすこしきれい…というかスマートに書くことはできないものでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- b0a0a
- ベストアンサー率49% (156/313)
for(var t="",i=65;i<=122;i++)t+=String.fromCharCode(i); document.write(t.replace(/[\W_]/g,""));
- yambejp
- ベストアンサー率51% (3827/7415)
まぁロジックを理解するためだけなら意味はあると思いますけどね <script> var startStr="A"; var endStr="Z"; for(var i=startStr.charCodeAt(0);i<=endStr.charCodeAt(0);i++){ document.write(String.fromCharCode(i)); } var startStr="a"; var endStr="z"; for(var i=startStr.charCodeAt(0);i<=endStr.charCodeAt(0);i++){ document.write(String.fromCharCode(i)); } </script>
- kinta03
- ベストアンサー率41% (7/17)
お疲れ様です。 >もうすこしきれい…というかスマートに ソースの美意識は個人によって千差万別です。 例えば、hexで41~5A、61~7Aの文字コードを forで記述すれば同じ結果は得られるでしょうが そんなの無駄です処理が増えるだけで一利も有りません。 var big ='ABCDEFGHIJKLMNOPQRSTUVWXYZ' を宣言してsmallは打ち間違いを減らすため strtolowerで変換してやるのも一つの手です ソースの可読性から言うとせいぜい其処までですね。 自分は「明日の自分は赤の他人/昨日の自分も赤の他人」 と言う意識で可読性を重視し、適時コメントを入れる様にしています。 ましてグループで開発する時などは必須条件になります。 自分で作った物でも後で見ると訳分からん、なんて事も有りますよ。
お礼
なるほどです。ありがとうございました。