任意の文字数の英文字列を生成する

Pocket

JavaScriptでAAA、AAB、AAC…ZZZという英文字列をもれなく生成する方法です。
コードを下に示します。
「enumerate(3)」としているところで文字数を指定します。この場合、3文字です。4文字で相当時間がかかりました。5文字だと動かないと思い、試していません。

var arrs;
arrs = enumerate(3);
document.write(arrs.join("<br>"));
function enumerate(len) {
  var list, list_length, arr, arr_length, i, j, result;
  list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  list_length = list.length;
  result = [];
  if(len == 1) {
    for(i = 0; i < list_length; i++) {
      result.push(list.substr(i, 1));
    }
  } else {
    arr = enumerate(len - 1);
    arr_length = arr.length;
    for(i = 0; i < list_length; i++) {
      for(j = 0; j < arr_length; j++) {
        result.push(list.substr(i, 1) + arr[j]);
      }
    }
  }
  return result;
}

[ 2014年12月14日 | カテゴリー: JavaScript | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報