ときたの技術ノート

アウトプット!!!近道はない。泥臭く頑張れ。

【Javascript】a-zアルファベット順に出力する

出力形式

a ~ z のアルファベットを、改行区切りで出力する。

解答パターン1

let str = "abcdefghijklmnopqrstuvwxyz";
str.split('').forEach(v=>console.log(v));

解説

  1. 変数に、「a-z」までのアルファベットを文字列として格納する。
  2. split('') で文字列を配列にする。['a', 'b', 'c',.........]
  3. forEachを使って、順に出力する。

解答パターン2

let first = "a";
let last = "z";

for(let i = first.charCodeAt(0); i <= last.charCodeAt(0); i++) {
    console.log(String.fromCharCode(i));
}  

解説

  1. アルファベットの最初の文字、「a」と最後の文字「z」を変数に格納する。
  2. それぞれ最初と最後の文字コードを取得する。(「a」の場合、「97」、「z」の場合、「122」) *1
  3. forEachを使って、文字コードの「97」から「122」番目の値を順に出力する。

※1 「a」と「z」の文字コードについて

    let first = "a";
    let last = "z";
    console.log(first.charCodeAt(0)); //97
    console.log(last.charCodeAt(0)); //122

文字コードを取得するために、charCodeAtメソッドを使用しています。 charCodeAt(0) は、charCodeAt()でも大丈夫です。 引数にindex(数値)を指定しない場合、初期値に0がセットされる仕様です。*2

メモ

パターン1のやり方が最初思いついたけど、アルファベットは規則性があるからもっと楽そうにできないかと調べたところ、 文字コードに変換する方法にたどり着いた。

参考

shanabrian.com

おまけ

ひらがなの文字コード 小さい「ぁ」とかが含まれるから、アルファベット出力(解答パターン2)と同じやり方はできなさそう。

www.asahi-net.or.jp