Dies ist eine Zuweisung im freien Code-Lager, mein Problem ist meine for-Schleife nicht iterieren, es ist eine Funktion von Filter-Methode zurückgegeben, ich muss die zusätzlichen Parameter neben dem ursprünglichen Array [0] durchlaufen, um zu vergleichen, wenn es übereinstimmt und entfernen.meine for-Schleife wird nicht ausgeführt?
das Ergebnis dieses Codes ist 1,3,1,3, die 1,1 sein möchte.
function destroyer(arr) {
var p = arguments.length; // arr length
var r = arguments; //
function argScope(item) {
debugger;
for(var a =1; a<=p; a++) { // start iterate at 1, 0 is the initial array I want to remove elements
if(item == r[a]) { // this is true at 1 so 2 is removed, but loop doesn't execute
return false;
} else {
return item;
}
}
}
var v = arr.filter(function(item,index,array) {
debugger;
return argScope(item); // call a function for the scope
});
return v;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3); // function call
Hilfe?
ich diesen Code getan haben, aber unsere Unterschied sind die Klammern, wusste nicht, das funktioniert, aber ich möchte fragen, warum funktioniert das nicht mit Zahnspangen? – learningjavascriptks
Ich nehme an, Sie sprechen über die Klammern in der For-Schleife? Es wird natürlich mit geschweiften Klammern funktionieren, aber Sie haben das Element in der else-Klausel zurückgegeben. Ich kehrte nach dem Ende der Schleife zurück. –