1. ホーム
  2. jquery

[解決済み] jQueryのGrepとFilterの違い?

2023-05-03 09:29:23

質問

GrepとFilterの違いについて教えてください。

フィルタ:

マッチした要素の集合を、セレクタにマッチするもの、あるいは 関数のテストに合格したものにします。

グレップする。

<ブロッククオート

配列の中から、フィルタリング機能を満たす要素を探し出す。 関数を満たす配列の要素を探します。元の配列は影響を受けません。

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);
});

どちらの状況でも、私はまだ元の配列にアクセスすることができます...

ということは...どこが違うのでしょうか?

どのように解決するのですか?

どちらも似たような機能を持ちますが、使い方が異なります。

filter関数はhtml要素で使用することを意図しています。そのため、jQueryオブジェクトを返す連鎖可能な関数で、":even", ":odd" や ":visible" などといったフィルタを受け付けます。配列のためのユーティリティ関数であることを意図している grep 関数では、このようなことはできません。