#266 Seek and Destroy
1095 ワード
使用するメソッド(コマンド): Array.filter() Array.indexOf() Arguments object
Argumentsは、関数に渡されるパラメータに対応する配列に似たオブジェクトです.
答え: は、
filter()
メソッドは、指定した関数を使用してすべての要素をテストし、テストに合格したすべての要素を含む新しい配列を作成します.filter()
元の配列は変更されません.indexOf()
メソッドは、配列内で所与の要素を見つけることができる最初のインデックスを返し、存在しない場合は−1を返します.Argumentsは、関数に渡されるパラメータに対応する配列に似たオブジェクトです.
var args = Array.from(arguments);
を使用してargumentsを真の配列に変換できます.答え:
Array.from()
を使用して、すべてのargumentsを抽出して新しい配列を構成する.filter(function(item))
を用いてfunction(item)に設定された条件に従ってarrをフィルタリングし、条件を満たす要素をフィルタリング(フィルタリングではない)し、その要素をArr配列に渡す.function(item)
条件:args.indexOf(item) < 0
(配列argsをパスし、要素とitemの内容がある場合、args配列内の要素の位置(位置最小値「0」)を返します.ここでは<0を設定するので、filter(function(item)
の条件はargs配列とは異なる要素returnを出すことです.のfunction destroyer(arr) {
var args=Array.from(arguments);
var Arr = arr.filter(function(item){
return args.indexOf(item)<0;
});
return Arr;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);