Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาความแตกต่างสมมาตรระหว่างสองอาร์เรย์ - JavaScript


ในวิชาคณิตศาสตร์ ความต่างสมมาตรของสองเซต กล่าวคือ A และ B แทนด้วย 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]