i made a function to calculate de symmetric difference between arrays passed as arguments. I did it for two arrays and it worked. The problem now is that i want to extend the function to n variables. I think that i should calculate the symm difference if the arguments.length of the function is equal to two, else i should call a recursive function to calculate the symm diff between the other elements and the first two ? I don't know, i'm very confused.
function sym(args) {
var arr=[].slice.call(arguments);
var cnts={};
var result=[];
if(arguments.length==2){
arr=arguments[0].concat(arguments[1]);
console.log(arr);
for(var number in arr){
if(cnts.hasOwnProperty(arr[number])){
++cnts[arr[number]].cnt;
}
else cnts[arr[number]]={cnt:1,val:arr[number]};
}
for(var counts in cnts){
if(cnts[counts].cnt===1) result.push(cnts[counts].val);
}
}
else{
var first=arguments[0];
var nextDiff=function(next){
return ...........?????????;
};
}
return result;
}
sym([1, 2, 5], [2, 3, 5], [3, 4, 5]);