Ich habe eine Funktion zur Berechnung der symmetrischen Differenz zwischen Arrays, die als Argumente übergeben wurden, gemacht. Ich habe es für zwei Arrays gemacht und es hat funktioniert. Das Problem ist jetzt, dass ich die Funktion auf n Variablen erweitern möchte. Ich denke, dass ich die Symm-Differenz berechnen sollte, wenn die Argumente.Länge der Funktion gleich zwei ist, sonst sollte ich eine rekursive Funktion aufrufen, um die Symm Diff zwischen den anderen Elementen und den ersten beiden zu berechnen? Ich weiß nicht, ich bin sehr verwirrt.Rekursive Funktion für symmetrische Differenz
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]);
Mögliche Duplikat [Der Versuch, symmetrische Differenz mit Javascript zu lösen] (http://stackoverflow.com/questions/30834946/trying-to-solve-symmetric-difference-using-javascript) –