JavaScriptで2つのセットの和集合を見つける
ユニオンセット
ユニオンセットは、2つのセットの要素を組み合わせて作られたセットです。したがって、集合AとBの和集合は、A、B、またはその両方の要素の集合です。
例-
このような2つの配列で表される2つのセットがある場合-
const arr1 = [1, 2, 3]; const arr2 = [100, 2, 1, 10];
すると、和集合は-
になります。const union = [1, 2, 3, 10, 100];
このようなリテラルの配列を2つ取り込んで、それらの和集合配列を返すJavaScript関数を作成する必要があります。
例
以下はコードです-
const arr1 = [1, 2, 3]; const arr2 = [100, 2, 1, 10]; const findUnion = (arr1 = [], arr2 = []) => { const map = {}; const res = []; for (let i = arr1.length-1; i >= 0; -- i){ map[arr1[i]] = arr1[i]; }; for (let i = arr2.length-1; i >= 0; -- i){ map[arr2[i]] = arr2[i]; }; for (const n in map){ if (map.hasOwnProperty(n)){ res.push(map[n]); } } return res; }; console.log(findUnion(arr1, arr2));
出力
以下はコンソールでの出力です-
[ 1, 2, 3, 10, 100 ]
-
Javascriptで2つのセットを追加する
2セットを加算する操作はユニオンと呼ばれます。重複をチェックしながら、あるセットから別のセットにすべてのオブジェクトを追加する必要があります。このメソッドを実装するには、すでに実装した2つのメソッドを使用できます。 既存のセットを変更したくないので、この関数を静的関数として実装しますが、新しいセットを作成して返します。最初に、渡されたオブジェクトが本当にMySetクラスのインスタンスであるかどうかを確認する必要があります。 例 static union(s1, s2) { if (!s1 instanceof MySet || !s2 instanceof MyS
-
JavaScriptConst
JavaScriptのconst宣言は、他の値に再割り当てしたり、後で再宣言したりできない変数を作成します。 ES2015で導入されました。 以下はJavaScriptconst宣言のコードです- 例 <!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } </sty