プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

【JavaScript入門】乱数とランダムな文字列の作り方

更新日:

記事の内容


この記事では、JavaScriptで乱数の作り方、ランダムな文字列、base64、base58について説明します。
JavaScriptのコードは、ES6で書いています。

乱数の作り方

Math.random関数は、0–1(0以上、1未満)の範囲で浮動小数点の擬似乱数を作成します。
その数字に対して、「自分が作成したい範囲の数字 + 1」を掛けてやると、範囲指定をした上で乱数を作成できます。
例では、最大値に5を設定することで、「0から4」の乱数を作成しています。
デバッグの処理もlogに出しているので、処理を確認してみて下さい。

配列からランダムな値を取り出す

乱数を利用して、配列からランダムな値を取得してみます。

ランダムな文字列の作り方

ASCIIの文字コードには数字が振られていて、それを利用して文字列を作成しています。
「a」は「97」、「b」は「98」という感じになっています。

小文字のみ

forループで作成

関数型で作成

大文字のみ

小文字と大文字の混同

Base58の作成方法

Base58とは、バイナリデータを58種類の文字で表現するフォーマットです。
ただし、そこから人間が間違えやすい文字を削除しています。
小文字のエル(l)、大文字のオオ(O)、大文字のアイ(I)を削除しています。

人間が視認しやすくなるので、クーポンコードを作成する時や、ビットコインのアドレスを作成する時に使われます。

まとめ

この記事では、乱数の作り方とランダムな文字列の作り方を紹介しました。

Good luck for your engineer life!

JavaScriptをより詳しく勉強したい人は、この記事を読んで下さい

【ES6対応も説明】JavaScriptとTypeScriptの学習でおすすめの本と動画【2020年】

初心者向け いちばんやさしいJavaScriptの教本 プログラミング初心者にも簡単に理解できるような書き方がされていて、ページあたりの文字数や内容も少ないので、テンポよく勉強を進めることができます。 全体像を掴むには最適な本です。 ただし ...

続きを見る


Gitをより詳しく勉強したい人は、この記事を読んで下さい

Gitの学習でおすすめの本と動画【2020年最新】

漫画?でわかりやすく学ぶ入門書の定番 わかばちゃんと学ぶGit使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 初心者向け Gitが、おもしろいほどわかる基本の使い ...

続きを見る


関数型言語をより詳しく勉強したい人は、この記事を読んで下さい

関数型言語の学習でおすすめの本と動画【2020年最新】

初心者向け 入門Haskellプログラミング Haskell言語を使って、関数型言語について学んでいくことができます。 豊富なサンプルコードと練習問題があり、レッスン形式で学んでいくことができます。 非常にわかりやすい入門書です。 中級者向 ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-JavaScript, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.