Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Javascriptで2つのセットを追加する


2セットを加算する操作はユニオンと呼ばれます。重複をチェックしながら、あるセットから別のセットにすべてのオブジェクトを追加する必要があります。このメソッドを実装するには、すでに実装した2つのメソッドを使用できます。

既存のセットを変更したくないので、この関数を静的関数として実装しますが、新しいセットを作成して返します。最初に、渡されたオブジェクトが本当にMySetクラスのインスタンスであるかどうかを確認する必要があります。

static union(s1, s2) {
   if (!s1 instanceof MySet || !s2 instanceof MySet) {
      console.log("The given objects are not of type MySet");
      return null;
   }
   let newSet = new MySet();
   s1.forEach(elem => newSet.add(elem));
   s2.forEach(elem => newSet.add(elem));
   newSet;
}

これは、-

を使用してテストできます。

const testSet1 = new MySet();
testSet1.add(1);
testSet1.add(2);

const testSet2 = new MySet();
testSet2.add(2);
testSet2.add(5);

let testSet3 = MySet.union(testSet1, testSet2);
testSet3.display();

出力

これにより、出力が得られます-

{ '1': '1', '2': '2', '5': '5' }

ユニオン関数はES6APIにも存在しないことに注意してください。次のように、この関数をSetクラスで使用できるようにすることができます&minusl

Set.union = function(s1, s2) {
   if (!s1 instanceof Set || !s2 instanceof Set) {
      console.log("The given objects are not of type Set");
      return null;
   }
   let newSet = new Set();
   s1.forEach(elem => newSet.add(elem));
   s2.forEach(elem => newSet.add(elem));
   return newSet;
}

-

を使用してこれをテストできます

let setA = new Set([1, 2, 3, 4]);
let setB = new Set([2, 3]);
console.log(Set.union(setA, setB));
>

出力

これにより、出力が得られます-

Set { 1, 2, 3, 4 }

  1. Javascriptプロトタイプへのメソッドの追加

    以下は、JavaScriptプロトタイプにメソッドを追加するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>

  2. JavaScriptで2つの数値を加算するときに必要なキャリーの数

    問題 2つの数値を受け取るJavaScript関数を作成する必要があります。 私たちの関数は、紙に追加するかのように、それらの数を追加するときに必要なキャリーの数をカウントする必要があります。 次の画像のように179と284を追加すると、キャリーを2回使用したため、これら2つの数値に対して、関数は2を返す必要があります。 例 以下はコードです- const num1 = 179; const num2 = 284; const countCarries = (num1 = 1, num2 = 1) => {    let res = 0;