JavaScriptでランダムなHEXカラーコードを生成する方法
Web開発では、ランダムな色を生成したい場面がよくあります。例えば、デモアプリケーションの配色や、データの可視化における自動的な色の割り当てなどが挙げられます。
本記事では、ランダムなHEX形式(16進数)のカラーコードを返す関数をJavaScriptで実装する方法を解説します。
ランダムカラーコード生成の仕組み
HEXカラーコードは、「#」に続けて0〜9およびA〜Fの16種類の文字を6つ並べた形式で表されます。つまり、この6文字をランダムに組み合わせることで、約1,677万色(16の6乗 = 16,777,216色)の中から任意の色を生成することが可能です。
コード例
const generateRandomColor = () => {
const keys = '0123456789ABCDEF';
let color = '';
while(color.length < 6){
const random = Math.floor(Math.random() * 16);
color += keys[random];
};
return `#${color}`;
};
console.log(generateRandomColor());
console.log(generateRandomColor());
console.log(generateRandomColor());
console.log(generateRandomColor());コードの解説
- 定数
keysには、16進数で使用される文字「0123456789ABCDEF」が格納されています。 - whileループ内では、
Math.random()に16を掛けた値をMath.floor()で切り捨てることにより、0から15までのランダムな整数を生成しています。 - その整数をインデックスとして
keysから1文字取り出し、変数colorに連結します。この処理を6回繰り返すことで、6桁の16進数が完成します。 - 最後に先頭に「#」を付けて返すことで、有効なHEXカラーコードとして利用できます。
実行結果
コンソールには以下のように出力されます。なお、ランダム生成のため、実行するたびに異なる値が表示されます。
#C83343 #D9AAF3 #9D55CC #28AE22
まとめ
Math.random()を活用したシンプルなロジックにより、ランダムなHEXカラーコードを簡単に生成できます。用途に応じて、明るさや色相の範囲を制限するなどのカスタマイズも可能なので、ぜひ応用してみてください。
-
JavaScriptで数値の各桁の数字を一つずつ分割表示する方法
はじめに この記事では、ユーザーが入力した数値を検証し、有効な数値であればその各桁の数字を画面に一つずつ表示するJavaScriptプログラムの作り方を解説します。 動作イメージ ページ上のボタンをクリックすると入力ダイアログが開き、そこに数値を入力してOKを押すと、入力された数値の各桁が一行ずつ画面に出力される仕組みです。 例えば、入力が次のような場合—— 43354 画面には次のように表示されます。 4 3 3 5 4 完成コード HTML <!DOCTYPE html> <html> <head> &n
-
JavaScriptで数字パターンを表示する方法【初心者向けサンプルコード】
本記事では、テキスト入力欄とボタンを備えたJavaScript・HTMLプログラムの作成方法を解説します。ユーザーが入力欄に任意の数値(例:5)を入力してボタンをクリックすると、画面に以下のような数字パターンが表示される仕組みです。(n = 5 の場合の出力例)01 01 02 01 02 03 01 02 03 04 01 02 03 04 05仕組みのポイントこのパターンは二重ループ(ネストしたforループ)を使うことで実現できます。外側のループが「行」を制御し、内側のループがその行に表示する「数字の個数」を制御します。i 行目には 1 から i までの数字が順番に出力されるため、行が進む