2016-12-24 19 views
0

filterやnotなどのJquery関数では、2つのパラメータを渡す関数を渡すことができます。私は本を​​読んでおり、最初のパラメータは現在の要素のインデックスであり、2番目のパラメータは現在の要素であると言います。よくわかりません。第2パラメータの使用とこのキーワードの使用の違いは何ですか? thisキーワードは現在の要素を指していませんか? elementパラメータが要素である間、これは参照として現在の要素を指していますか?どちらを使用しますか?Jquery - 2つのパラメータを使用して関数をフィルタ関数に渡す

ありがとうございます!

答えて

-1
array.filter(function(currentValue, index, arr), thisValue) 

currentValueは(必須) - 現在の要素の値

インデックス(オプション) - 現在の要素の配列インデックス

ARR(オプション) - 配列が現在の要素属するオブジェクト〜

thisValue(オプション) - 関数に渡され、 "this"値として使用される値です。 このパラメータが空の場合、値 "undefined"が "this"の値として渡されます。

+0

OPは 'Array.prototype.filter()'についてはなく、 '$ .fn.filter'について質問されていません – charlietfl

0

矢印機能は、外側スコープのthisキーワードを保持します。

通常の関数は更新されたthisを取得します。

スニペットの例。

var $body = $(document.body); 
 

 
console.log("Testing arrow functions"); 
 
$body.each((idx, el) => { 
 
    console.log(el === this); 
 
    }); 
 

 
console.log("Testing regular functions"); 
 

 
$body.each(function(idx, el) { 
 
    console.log(el === this); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

関連する問題