Ich versuche, zwei Arrays zu vergleichen und ein neues Array mit beliebigen Elementen zurückgeben, die nur in einem der beiden angegebenen Arrays gefunden werden.Woher kommt dieser undefinierte Wert?
z.B. Das Ergebnis des Vergleichs [1,2,3,4]
und [1,2,3]
sollte sein: .
Problem ist, dass ich 'undefined'
Element nach Schleife ausgeführt wird.
function diff(arr1, arr2){
var newArr = [];
for(i=arr1[0]; i<=arr1.length; i++){
if(arr2.indexOf(arr1[i])=== -1){
newArr.push(arr1[i]);
}
}
console.log(newArr);
};
diff([1,2,3,4], [1,2,3]);
Daraus ergibt sich, [4, undefined]
. Was mache ich falsch?
'i = arr1 [0]' ist wahrscheinlich nicht das, was Sie – user234461
bis 'Looping wollen <= length' ist ein klassischer Fehler von eins nach eins. – deceze