Ich versuche, die Filtermethode für ein Array zu verwenden, um das Array basierend auf einer variablen Anzahl von Argumenten durchlaufen.JavaScript - Filter durch ein Array mit Argumenten mit for-Schleife
Unten ist mein Versuch dazu:
function destroyer(arr) {
var argArr = arr.slice.call(arguments, 1);
var filteredArray = arr.filter(function(val) {
for (var i = 0; i < argArr.length; i++) {
return val != argArr[i];
};
});
console.log(filteredArray);
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
Wenn ich dies tun, nur das erste Element des Arrays Argumente angeordnet. Dies deshalb zurück:
[1, 3, 1, 3]
ich einige Beispiele Online möglicher Wege gefunden haben, dieses Problem zu beheben, aber sie sind sehr verschieden von dem, was ich verstehe nur noch. Gibt es eine Möglichkeit, meins zum Laufen zu bringen oder zu verstehen, warum die zusätzlichen Elemente des Array arguments nicht aufgerufen werden?
Das "Problem", das auftritt, wird durch die 'return' Anweisung verursacht, die die Schleife effektiv auf _eine_Iteration begrenzt. – jensgram