GrepとFilterの違いについて疑問に思っていました:
フィルター:
一致する要素のセットを、セレクターに一致する要素または関数のテストに合格する要素に減らします。
Grep:
フィルタ関数を満たす配列の要素を検索します。元の配列は影響を受けません。
OK。
したがって、GREPでこれを行うと:
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myNewArray= jQuery.grep(arr, function(n, i){
return (n != 5 && i > 4);
});
私もすることができます:
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myNewArray= $(arr).filter( function(n, i){
return (n != 5 && i > 4);
});
どちらの状況でも、元のアレイにアクセスできます...
だから...違いはどこにありますか?
.grep()
は一般的な配列処理のヘルパーメソッドだと思いますが、.filter()
通常は要素の選択を絞り込むために使用されます。.grep()
jQueryオブジェクトを返すとは思わないので、チェーンすることはできません(jQuery.fn.grep
存在しません)。