私はかなり長い間この機能を理解しようとしてきましたが、私には意味がありません。この関数の目的は、他の引数の番号と一致する引数の配列内の任意の数値を削除することです。Javascript:この機能を理解するのを手伝ってください。
機能を機能させるためにアレイをスライスする必要があるのはなぜですか?
args.splice(0,1)は冗長ですか?私はそれを取り除き、何も変わらなかった。
スライスは変更されません
function destroyer(arr) {
var args = Array.prototype.slice.call(arguments);
args.splice(0, 1);
return arr.filter(function(element) {
return args.indexOf(element) === -1;
});
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
@Rayon、それは[1、1] –
です。出力は余分な引数なしで渡された配列です。その場合は、2と3なし。 –
理由は簡単です: 'args'の最初の引数は常に' objects'が等しいので無視されます( '==='は 'もしそれらが参照されている場合にのみ... – Rayon