Ich habe eine kurze Frage zum Finden des Unterschieds zwischen zwei Arrays. Ich fand ein Stück JavaScript-Code, der tut, was ich will here und modifiziert es ein wenig:Unterschied von zwei Arrays
JS
function diffArray(arr1, arr2) {
var newArr = [];
var myArr = arr1.concat(arr2);
newArr = myArr.filter(function(item){
return arr2.indexOf(item) < 0 || arr1.indexOf(item) < 0;
});
return newArr;
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
aber ich bin mir nicht sicher, dass ich wirklich verstehen, was die Filterfunktion hier tut. Könnte mir jemand eine klare Erklärung geben, wie das funktioniert?
Hinweis: Ich kenne bereits die Grundlagen der Filterfunktionen. Ich suche nach einer genauen Erklärung dieses Filters.
Wenn Element nicht in 'arr2' ist, prüfen Sie, ob es in 'arr1' ist, wenn nicht in 'arr1', geben Sie entweder false zurück, andernfalls geben Sie true zurück. – adeneo
Danke! Das fängt an mehr Sinn zu machen. –
Ich mag keine dummen Codes impliziert "Hey schau ich habe 2 Zeichen weniger getippt". Es hätte wie 'arr2.indexOf (item)> = 0 && arr1.indexOf (item)> = 0; ' – Redu