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

2つの配列間の対称差を見つける-JavaScript


数学では、AとBの2つのセットの対称差は、A△B

で表されます。

そして、それはAまたはBのいずれかに属するが、両方には属さないすべての要素のセットとして定義されます。

例-

const A = [1, 2, 3, 4, 5, 6, 7, 8];
const B = [1, 3, 5, 6, 7, 8, 9];

その場合、AとBの対称差は-

になります。
const diff = [2, 4, 9]

以下はコードです-

const A = [1, 2, 3, 4, 5, 6, 7, 8];
const B = [1, 3, 5, 6, 7, 8, 9];
const symmetricDifference = (arr1, arr2) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++){
      if(arr2.indexOf(arr1[i]) !== -1){
         continue;
      };
      res.push(arr1[i]);
   }
   for(let i = 0; i < arr2.length; i++){
      if(arr1.indexOf(arr2[i]) !== -1){
         continue;
      };
      res.push(arr2[i]);
   };
   return res;
};
console.log(symmetricDifference(A, B));

出力

これにより、コンソールに次の出力が生成されます-

[2, 4, 9]

  1. C++の2つのアレイ間の互換性の違いを見つける

    2人の友人がいて、今彼らは彼らの結合をテストしたいと考えています。だから彼らは彼らがどれだけ互換性があるかをチェックします。 1..nから番号が付けられた番号nが与えられます。そして、彼らは数字をランク付けするように求められます。彼らはそれらの間の互換性の違いを見つけなければなりません。互換性の違いは、基本的に、それらによって与えられた同じ映画の相対的なランキングの不一致の数です。したがって、A =[3、1、2、4、5]、およびB =[3、2、4、1、5]の場合、出力は2になります。 2と4ですが、他の人はそれを後にランク付けします。 これを解決するために、現在の要素が同じであるときに両方の

  2. 2つのNumpyアレイ間のセットの違いを見つける方法は?

    このプログラムでは、2つのnumpy配列のセットの違いを見つけます。 numpyライブラリのsetdiff1d()関数を使用します。この関数は、array1とarray2の2つのパラメーターを取り、array2にはないarray1の一意の値を返します。 アルゴリズム Step 1: Import numpy. Step 2: Define two numpy arrays. Step 3: Find the set difference between these arrays using the setdiff1d() function. Step 4: Print the output.