情報アイランド

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

Node.jsでセットを使用する

セットを使用するにはBucketsパッケージのbuckets-jsモジュールのSetクラスを使用します。

このクラスはセットの実装であり、下のような関数を提供します。

  • add・・・要素を追加します。第1引数に追加する要素を指定します。
  • clear・・・全ての要素を削除します。
  • contains・・・要素が含まれているか調べます。第1引数に要素を指定します。
  • difference・・・別のセットとの差を取ります。第1引数にセットを指定します。
  • equals・・・別のセットと内容が同一であるか調べます。第1引数にセットを指定します。
  • forEach・・・それぞれの要素に対して処理を行います。第1引数に実行する処理を関数として指定します。
  • intersection・・・別のセットとの積を取ります。第1引数にセットを指定します。
  • isEmpty・・・空のセットであるか調べます。
  • isSubsetOf・・・別のセットの部分セットであるか調べます。第1引数にセットを指定します。
  • remove・・・要素を削除します。第1引数に削除する要素を指定します。
  • size・・・要素の数を取得します。
  • toArray・・・全ての要素から成る配列を取得します。
  • union・・・別のセットとの和を取ります。第1引数にセットを指定します。

サンプルコード1

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

buckets-js-set.js

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

var s = new bucketsJs.Set();

print(s);

s.add(0);
s.add(1);
s.add(2);
s.add(3);

print(s);

console.log(s.isEmpty());

console.log(s.size());

console.log(s.contains(0));
console.log(s.contains(10));

s.remove(0);

print(s);

s.clear();

print(s);

console.log(s.isEmpty());

console.log(s.size());

var s1 = new bucketsJs.Set();
s1.add(0);
s1.add(1);
s1.add(2);
s1.add(3);

var s2 = new bucketsJs.Set();
s2.add(0);
s2.add(1);

s1.difference(s2);

print(s1);

var s3 = new bucketsJs.Set();
s3.add(0);
s3.add(1);
s3.add(2);
s3.add(3);

s1.intersection(s3);

print(s1);

s1.union(s3);

print(s1);

console.log(s1.isSubsetOf(s2));

function print(s) {
    s.forEach(function (e) {
        console.log(e);
    });
}

使用パッケージ

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

実行結果

C:\work\node>node buckets-js-set.js
0
1
2
3
false
4
true
false
1
2
3
true
0
2
3
2
3
2
3
0
1
false

関連

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

-Node.js