[JavaScript]数字と文字の範囲を生成する

この例では、上限と下限を渡すことによって数値と文字の範囲を生成するJavaScriptプログラムの作成方法を学習します。

例:文字範囲を生成する

// program to generate range of numbers and characters
function* iterate(a, b) {
  for (let i = a; i <= b; i += 1) {
    yield i
  }
}

function range(a, b) {
    if(typeof a === 'string') {
        let result = [...iterate(a.charCodeAt(), b.charCodeAt())].map(n => String.fromCharCode(n));
        console.log(result);
    }
    else {
        let result = [...iterate(a, b)];
        console.log(result);
    }
}

range(1, 5);
range('A', 'G');

出力

[1, 2, 3, 4, 5]
["A", "B", "C", "D", "E", "F", "G"]

上記のプログラムでは、数値と文字の範囲が上限と下限の間に生成されます。

  • iterateジェネレーター関数は、下限と上限を反復するために使用されます。
  • 次に、spread構文...を使用して、 iterate関数によって返されるすべての要素を含めます。
  • charCodeAt()メソッドはインデックス値を受け取り、UTF-16(16ビットUnicode変換形式)コードを表す整数を返します。
  • map()メソッドは、すべての配列要素を反復処理します。
  • fromCharCode()メソッドは、Unicode値を文字に変換します。

Source