дана 2 массива нужно найти уникальные элементы и открыть третий массив.javascript

Array.prototype.diff = function(a) {
   return this.filter(function(i){return a.indexOf(i) < 0;});
};

let arr1 = [ 1, 5, 0, 8, 4, 6 , 9, 2, 3];
   arr2 = [1, 7, 8, 4, 6 , 2, 10];
var result = arr1.diff(arr2);
console.info(result);

Ответы (1 шт):

Автор решения: entithat

Исходя из нужного ответа, делаю вывод, что надо найти все уникальные значение из двух массивов. Сделать это можно так:

Array.prototype.diff = function(a) {
  return [
    ...a.filter(i => this.indexOf(i) < 0), 
    ...this.filter(i => a.indexOf(i) < 0)
  ];
}

const arr1 = [1, 5, 0, 8, 4, 6, 9, 2, 3];
const arr2 = [1, 7, 8, 4, 6, 2, 10];

console.log(arr1.diff(arr2)); // [7, 10, 3, 9, 0, 5]

P.S. Хотел придумат алгоритм побыстрее и наткнулся на похожий вопрос.

→ Ссылка