cachaito
4/12/2019 - 6:46 PM

Porównanie dwóch tablic zliczające powtarzające się wystąpienia

const arr1 = [1,5,6,7,5,6,5,56,11,78,9789,8679,7,10];
const arr2 = [1,5,6,7,8,5,6,7,8,10,11,78];

function compare(arr1, arr2) {
  const objMap = {};
  arr1.forEach((e1) => {
    arr2.forEach((e2) => {
      if(e1 === e2) {
        objMap[e1] = objMap[e1] + 1 || 1; // liczy czy wystąpienie się pojawiło, jeśli tak, +1 do tego co było, jeśli pierwszy raz: 1
      }
    });
  });

  console.log(Object.keys(objMap).map(e=>Number(e)));
}

compare(arr1, arr2);