Javascriptでダミーデータを作成できるfaker.jsの使い方を現役エンジニアが紹介

データ分析画面

悩む人
Javascript でダミーデータを作りたい
facker.js の使い方がわからない

そんな悩みに答えます。

Javascript でダミーデータを楽に作成できるライブラリ「facker.js」の使い方を紹介します。

この記事を読むことで、faker.js の使われそうなメソッド と 使い方 がわかるようになります。

本記事の狙い

  • faker.jsでダミーデータを楽に作成できるようになる

faker.js のインストール

faker.js は、Node.js 環境上でも、ブラウザ上でも使えます。
それぞれ使いたい環境ごとのインストール方法を紹介します。

Node.js で使用したい場合

npm で下記のようにインストールします。

npm install faker

下記のようにjsファイルを作成します。

const faker = require("faker");
var val = faker.name.firstName();
console.log(val)

 

ブラウザ上で使用したい場合

開発者のGitHubリポジトリに短縮版のjsがあります。
下記のURLから faker.min.js をダウンロードします。

https://github.com/Marak/faker.js/blob/master/examples/browser/js/faker.min.js

下記のように htmlファイルに js を埋め込んで使用します。
( faker.min.js と同じディレクトリに htmlファイルがある前提です。)

<script src = "faker.min.js" type = "text/javascript"></script>
<script>
  function putName(){
    var randomName = faker.name.findName();
    document.getElementById("fname").innerHTML = randomName;
  }
</script>
<div id="fname"></div>
<button onClick=putName()>Button</button>

ブラウザ上で開くと下記のように動作します。

faker動作サンプル

 

faker.js の基本的な構成

開発者のGitHubリポジトリ(https://github.com/Marak/faker.js)のAPIメソッド一覧を確認すると、
カテゴリ別のメソッドがあり、その中に更に細かいメソッドを持つように作られていることがわかります。

そのため、下記のように呼び出せば使用できます。

faker.カテゴリのメソッド名.使用したいメソッド名

実例:

faker.name.findName();

 

faker.js の使い方(ピックアップのみ)

faker.js の使われそうな使い方をピックアップしてご紹介します。
より詳細に知りたい方は、GitHubリポジトリのWiki(https://github.com/Marak/faker.js/wiki)をご参照ください。
(右側にメニューがあります。)

  • 言語対応(ローカライズ)
  • 乱数の結果をいつも同じにする
  • 住所関連メソッド
  • 日付関連メソッド
  • 人名関連メソッド
  • インターネット関連メソッド
  • ランダム関連メソッド

言語対応(ローカライズ)

メソッドを呼び出す前に下記のコードを記述し、日本語を設定しておきましょう。

faker.locale = "ja";

ただし、メソッドによっては、ごちゃごちゃの日本語文が出てきたりするので、あまり期待しない方がいいでしょう。

 

乱数の結果をいつも同じにする

下記をようにシードメソッドに固定値を設定すると、使用したメソッドの結果がいつも同じにできます。

faker.seed(任意の数値)

実例:

faker.seed(123)

 

住所関連メソッド

住所関連で使われそうなのは、郵便番号と都道府県ぐらいでした。他の住所関連の情報はまともに表示されません。

郵便番号をランダムに生成する

var val = faker.address.zipCode();
console.log(val)

 

都道府県をランダムに生成する

var val = faker.address.state();
console.log(val)

 

日付関連メソッド

日付関連で使われそうなものは下記です。

指定した期間の中でランダムな日時を生成する

var val = faker.date.between('2020-01-01', '2020-12-31');
console.log(val)

 

月をランダムに生成する

var val = faker.date.month();
console.log(val)

日本語にローカライズ設定しても、英語名で表示されるため、日本語の月にしたい方はおすすめしません。

 

曜日をランダムに生成する

var val = faker.date.weekday();
console.log(val)

日本語にローカライズ設定しても、英語名で表示されるため、日本語の曜日にしたい方はおすすめしません。

 

人名関連メソッド

人名関連で使われそうなものは下記です。

姓をランダムに生成する

var val = faker.name.lastName();
console.log(val)

 

名をランダムに生成する

var val = faker.name.firstName();
console.log(val)

 

インターネット関連メソッド

インターネット関連で使われそうなものは下記です。

Emailをランダムに生成する

var val = faker.internet.email();
console.log(val)

 

URLをランダムに生成する

faker.locale = "en";
var val = faker.internet.url();
console.log(val)

URLを生成する際は、enにローカライズ設定しておかないとおかしなURLになってしまうため、上記のようにしています。

 

IPアドレスをランダムに生成する

var val = faker.internet.ip();
console.log(val)

 

ユーザエージェントをランダムに生成する

var val = faker.internet.userAgent();
console.log(val)

 

ユニークIDをランダムに生成する

var val = faker.random.uuid();
console.log(val)

 

ランダム関連メソッド

その他、使われそうなものは下記です。

0から指定値までの数値をランダムに生成する

var val = faker.random.number(100);
console.log(val)

 

最小値から最大値までの数値をランダムに生成する

var val = faker.random.number({ min: 5, max: 10 });
console.log(val)

 

小値から最大値までの数値を指定小数点以下桁数でランダムに生成する

var val = faker.finance.amount(9000, 10000, 4);
console.log(val)

 

真偽値をランダムに生成する

var val = faker.random.boolean();
console.log(val)

 

配列からランダムに要素を選択する

var val = faker.random.arrayElement(["A", "B", "C", "D"]);
console.log(val)

 

オブジェクトからランダムに要素を選択する

var val = faker.random.objectElement({ one: 1, two: 2, three: 3 });
console.log(val)

 

まとめ

  • インストールは、npm、もしくは、JSをダウンロードして使う。
  • 基本的な構成として、カテゴリ別に様々なメソッドが定義されている。
  • 使い方は、使いたいメソッドを呼び出せばOK

Javascriptでダミーデータを作成したいときは、楽に作成できる faker.jsを使っていきましょう。

 

以上です。
読んでくださった方ありがとうございました。

-Node.js
-, ,

© 2020 tako-xyz