JavaScriptでアルファベットの配列をスマートに作る
JavaScriptでアルファベットの配列をスマートに作る
さて、突然ですが皆さんは
JavaScriptでA-Zの配列を作れ
と言われたらどうしますか?
直感的に
var alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
これもありですね。ですが今回はもうちょっとスマートにA-Zの配列を作成する方法を紹介します。
早速ですがコード
function Range(first, last) {
var first = first.charCodeAt(0);
var last = last.charCodeAt(0);
var result = new Array();
for(var i = first; i <= last; i++) {
result.push(String.fromCodePoint(i));
}
return result;
}
var alphabet = Range('A', 'Z');
これは何をしているかというと、Unicode(ユニコード)のコードポイントを用いて引数の文字列をUnicodeのコードポイントの数値に変換します。
そしてそれをループで回してコードポイントをfromCodePointで文字列に再変換しているという流れです。
どうでしたか?手動でA-Zで入力するのはプログラミングらしくないので紹介してみました。