この動画はメンバー限定動画です
全ての講座が
月額990円で学び放題
それではここまで学んだ内容を使って、少し実用的なプログラムを作成してみましょう。ここでは、ランダムに文字列を組み合わせてパスワードを作ることができるツールを作ってみます。
動きとしては次のようになります。
- あらかじめパスワードの元になる文字列を配列として準備する
- コマンドのパラメータとして、パスワードの長さを指定する
- 乱数を使って、配列の中から適当な文字を1文字取得する
- 指定された長さの分だけ繰り返し取り出してつなげる
- 画面に表示する
順番に作成していきましょう。
パスワードの元の文字列を配列で準備しよう
まずは、パスワードとして使われる文字の種類を配列として準備します。新しいファイルに次のように書き込みましょう。
// password.ts
const seeds: string[] = [
"A", "B", "C",
"a", "b", "c",
"1", "2", "3",
"!", "#", "@",
];
ここでは、大文字のABCと小文字のabc、数字の123と記号を組み合わせています。もちろんもっと文字数を増やしても良いですし、日本語などを入れても良いでしょう。これで準備完了です。
パスワードを1文字取り出そう
こうして準備した配列から、パスワードを1文字取り出してみましょう。例えば、4文字目の「a」を取り出したい場合は、配列のインデックスは0から始まるので次のように3を指定します。
console.log(seeds[3]);
![](https://tomosta.jp/wp-content/uploads/2024/05/image-91-edited.png)
では、この数字を乱数を使ってランダムに取り出しましょう。この配列は12文字の文字が入っているため、0から11のいずれかの数字を乱数で求めます。その場合、次の計算式で求めることができます。
Math.floor(Math.random() * 12)
ここで、12という配列の要素の数は、後から要素数が変わる可能性もあるので、数字を決め打ちにせずに配列の長さから求めるようにしましょう。「seeds.length」プロパティが利用できます。
Math.floor(Math.random() * seeds.length);
これで数字を取得できるので、この数字を配列のインデックスに指定します。
console.log(seeds[Math.floor(Math.random() * seeds.length)]);
これで、実行する度にどれかの文字が表示されるようになりました。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-92-1024x576.png)