Ziel des Skripts: Ein Array und mehrere Argumente werden an eine Funktion übergeben. Ein Array muss zurückgegeben werden, abzüglich der Elemente, die mit den Argumenten identisch sind.Verwenden von filter() - und Arguments-Objekt. Logischer Fehler?
Es gibt keine Syntaxfehler und ich kann nicht den Fehler in meiner Logik herausfinden.
function destroyer(arr) {
function isTheDestroyer(x) {
//Using the arguments object
for (i=1; i<arguments.length; i++) {
if (x == arguments[i]) {
return false;
}
}
return true;
}
var filtered = arguments[0].filter(isTheDestroyer);
return filtered;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
Der Ausgang bleibt unverändert, wenn ich es laufen.
Haben Sie debugged zu sehen, was 'Argumente' in' isTheDestroyer' ist? Ich vermute stark, dass es nicht das ist, was du denkst. –
@James Thorpe Oh ich sehe, wie kann ich dann auf die 'Argumente' in 'IsTheDestroyer' zugreifen? – AlmostNihilist