は私がしなければならないものです:フィルタメソッドを使用して配列から要素を削除します。ここ
あなたは1つ以上の引数が続く最初の配列( 駆逐艦関数の最初の引数)で提供されます。最初の配列から の要素をすべて取り除きます。これらの要素は、 引数と同じ値です。
マイコード:
function destroyer(arr) {
for(i=1; i < arguments.length; i++) {
x = arr.filter(filterer);
}
function filterer(val) {
return val !== arguments[i];
}
return x;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
しかし、それは正常に動作し、初期配列でないフィルタ1を返していません。私のミスはどこですか?
VAR(0)は、入力アレイ – pranavjindal999
@PranavJindal 'filter'は純関数であり、それは時と呼ばれる配列を変更しない変更した方が良いようではないであろう。 'slice'を使うことは不要であり、このメソッドのオーバヘッドに別の配列を作成するだけです。 – gyre
@gyreフィルタは '' x = x.filter(filterer(arguments [i]))ではありません。 '' 'は – pranavjindal999