JavaScriptでSet演算

重複する値を許さないコレクションSetで、python,rubyでは集合演算の機能が提供されていますが、jsではありません。 なので演算したい場合は自分で書かなければなりません


let s = new Set([1,2,3,4,5,6,7,8,9]);

//積集合
var t = new Set([...s].filter(x=>((new Set([1,5,9])).has(x))));
console.log(t);

//和集合
t.clear();//初期化
[...s,...(new Set([1,5,9]))].forEach(x=>t.add(x));
console.log(t);

//差集合
t.clear();
[...s].filter(x=>(!(new Set([1,5,9])).has(x))).forEach(x=>t.add(x);
console.log(t);

やり方として、Setは配列をコンストラクタの引数とするので、一度[…s]として、集合を配列に戻し、それぞれの演算を行います。

s1 = new Set([1,2,3]);
s2 = new Set([2,3,4]);
//積配列の作成
[...s1].filter(x=>s2.has(x));

//和配列の作成
[...s1,...s2];

//差配列の作成
[...s1].filter(x=>!s2.has(x));

出来た配列をコンストラクタに突っ込むか、全てをaddメソッドで突っ込むかで完成です。

AWSを利用した導入事例のご紹介

実際に構築を行ったAWSの事例を紹介しています。導入の目的に近い事例をご覧いただくと、実際の構成例やメリット、注意点などが把握できます。

ブックオフコーポレーション株式会社様
第一生命保険株式会社様
株式会社電通様
株式会社LIFULL様
株式会社リブセンス様
TBSアナウンス部様
明治大学様
拓殖大学様