情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsでマルチディクショナリーを使用する

マルチディクショナリーを使用するにはBucketsパッケージのbuckets-jsモジュールのMultiDictionaryクラスを使用します。

このクラスはマルチディクショナリーの実装であり、下のような関数を提供します。

  • clear・・・全てのキーバリューペアを削除します。
  • containsKey・・・キーが含まれているか調べます。第1引数にキーを指定します。
  • equals・・・別のマルチディクショナリーと内容が同一であるか調べます。第1引数にマルチディクショナリーを指定します。
  • forEach・・・それぞれのキーバリューペアに対して処理を行います。第1引数に実行する処理を関数として指定します。
  • get・・・キーに対応するバリューの配列を取得します。第1引数にキーを指定します。
  • isEmpty・・・空のマルチディクショナリーであるか調べます。
  • keys・・・全てのキーから成る配列を取得します。
  • remove・・・キーに対応するバリューを削除します。第1引数にキーを指定します。第2引数にバリューを指定します。第2引数は指定しなくても構いません。第2引数を指定しなかった場合にはキーに対応する全てのバリューを削除します。
  • set・・・キーに対応するバリューを追加します。第1引数にキーを指定します。第2引数にバリューを指定します。
  • size・・・キーの数を取得します。
  • values・・・全てのバリューから成る配列を取得します。

サンプルコード1

MultiDictionaryクラスの関数の使用例です。

buckets-js-multi-dictionary.js

var bucketsJs = require('buckets-js');

var m = new bucketsJs.MultiDictionary();

print(m);

m.set('a', 0);
m.set('b', 1);
m.set('c', 2);
m.set('d', 3);
m.set('a', 4);

print(m);

console.log(m.isEmpty());

console.log(m.size());

console.log(m.containsKey('a'));
console.log(m.containsKey('x'));

console.log(m.get('a'));
console.log(m.get('x'));

console.log(m.keys());
console.log(m.values());

m.remove('b');

print(m);

m.clear();

print(m);

console.log(m.isEmpty());

console.log(m.size());

function print(m) {
    m.forEach(function (k, vs) {
        console.log(k + ": " + vs);
    });
}

使用パッケージ

  • Buckets
    npm install buckets-jsでインストールします。

実行結果

C:\work\node>node buckets-js-multi-dictionary.js
a: 0,4
b: 1
c: 2
d: 3
false
4
true
false
[ 0, 4 ]
[]
[ 'a', 'b', 'c', 'd' ]
[ 0, 4, 1, 2, 3 ]
a: 0,4
c: 2
d: 3
true
0

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js