filter メソッドは 2 つのパラメータを受け入れます: 1. コールバック関数。省略できません。これは、配列要素をフィルタリングするための条件を設定し、条件を満たす配列内の要素を返すために使用されます。構文は "function" です。 (現在の値、現在のインデックス、配列オブジェクト){...}"; 2. オプションのパラメーター。コールバック関数で this キーワードを使用するオブジェクトにすることができます。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
filter() メソッドは新しい配列を作成します。新しい配列の要素は、指定された配列内の条件を満たすすべての要素をチェックすることによってチェックされます。
簡単に言うと、 filter() メソッドは、指定された条件を満たす配列内の要素を返すことができます。
filter() メソッドは 2 つのパラメータを受け入れます:
array.filter(callbackfn[, thisArg]);
callbackfn: コールバック関数。省略できません。配列をフィルタリングする条件を設定するために使用されます。 elements 、最大 3 つのパラメータを受け入れます。構文:
function(currentValue, index,arr)
currentValue は必須です。現在の要素
#index の値はオプションです。現在の要素のインデックス値
#arr オプション。現在の要素が属する配列オブジェクト
#配列内の各要素に対して、フィルター メソッドは callbackfn 関数を 1 回呼び出します。
thisArg: オプションのパラメータ。callbackfn 関数で this キーワードとともに使用できるオブジェクト。 thisArg を省略した場合、this の値として unknown が使用されます。
戻り値は、コールバック関数が true を返すすべての値を含む新しい配列です。コールバック関数が array のすべての要素に対して false を返した場合、新しい配列の長さは 0 になります。
配列内の各要素に対して、フィルター メソッドは callbackfn 関数を 1 回 (インデックスの昇順で) 呼び出します。このコールバック関数は、配列内の欠落要素に対しては呼び出されません。コールバック関数の使い方はmapと同じです。
filter メソッドは、配列オブジェクトに加えて、長さプロパティを持ち、数値インデックス付きのプロパティ名を持つ任意のオブジェクトで使用できます。
例 1: 配列内の素数をフィルターで除外する
var a = [31,33,35,37,39,41,43,45,57,49,51,53]; var a1 = a.filter(function(value, index, ar) { high = Math.floor(Math.sqrt(value)) + 1; for (var div = 2; div <= high; div ++) { if (value % div == 0) { return false; } } return true; } ); console.log(a1);//31,37,41,43,53 </script>
例 2: 指定された範囲をフィルターで除外する配列内の外部要素
var f = function (value) { if (typeof value !== 'number'){ return false; } else { return value >= this.min && value <= this.max; } } var a = [6, 12, "15", 16, "the", -12]; var obj = {min : 10, max : 20}; var r = a.filter(f, obj); console.log(r); //12,16
[関連する推奨事項: JavaScript ビデオ チュートリアル、Web フロントエンド]
以上がes6 フィルター メソッドのパラメーターは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。