・第2引数:選別処理を設定したfunction・第3引数:true/false機能jQuery.grepメソッドは第1引数に設定した配列の要素を、第2引数のfunction内に設定した条件で選別します(function内でtrueを返した要素だけを抽出し、falseを返した要素は破棄します)。選別した結果(配列)は返値として渡され、第1引数に設定した配列は変更されません。第3引数にtrueを設定すると選別の設定を逆(falseの要素だけを抽出)にすることができます。配列の要素を選別しますサンプル(grep/01.html)を開いてbody内にbutton要素しかないことを確認して下さい。jQueryでは、まず以下の部分を確認してください。配列「myArray」が作成してあります。[1,9,3,8,6,1,5,9,4,7,3,8,6,9,1];続いて以下の部分を確認してください。buttonをクリックするとjQuery.grepメソッドを利用して配列「myArray」をfunction「grepFunc」を利用して選別します。appendメソッドを利用してbody要素内に表示します。grepFunc);$("body").append(ansArray);});jQuery.grepメソッドに設定するFunctionは以下の様な構文になっています。このfunctionは2つの引数(要素の値とインデックス番号)を受け取ります。これらの情報を利用して配列の要素を選別します。returnでtrueを返した要素だけ抽出され、falseの要素は抽出されません。インデックス番号){trueを返した要素を抽出します}サンプルで設定された「grepFunc」は以下の様に記述され、要素が5より小さい時だけtrueを返すようにしてあります。5より小さい要素のみを抽出します。5;};結果として、buttonをクリックすると配列「myArray」から5より小さい要素だけを抽出しbody要素内に表示します。表示される内容は「131431」です。元の配列は変更しません念のため、元の配列「myArray」が変更されていないことを確認します。サンプル(grep/01b.html)を開いて、appendメソッドで表示する内容をmyArrayに変更していることを確認して下さい。grepFunc);$("body").append(myArray);});buttonをクリックするとmyArrayの内容が変更されずに表示されます。extendメソッドのように元の配列(やobjectオブジェクト)を変更してしまうメソッドもあるのです。配列の分別(第3引数にtrueを設定する)jQuery.grepメソッドの第3引数にtrueを設定すると、第2引数のfunction内でfalseを返した要素だけを抽出するようになります。サンプル(grep/02.html)を開いて、grep/01.htmlと異なる点は以下の様にjQuery.grepメソッドの第3引数にtrueが設定されていることだけなのを確認してください。true);$("body").append(ansArray);});結果として、buttonをクリックすると配列「myArray」から「5以上の要素」だけを抽出しbody要素内に表示します。表示される内容は「986597869」です。これは選別に漏れた配列も欲しい時に便利でしょう。合格した要素の配列と、不合格の要素の配列に分別したいときなどです。サンプル(grep/02b.html)を開いてjQueryが以下の様に記述されていることを確認してください。true);//---5以上の要素を選別$("body").append(ansArray);結果としてbuttonをクリックすると5未満の配列(上段)と、5以上の配列(下段)が分別して表示されます。jQuery.mapメソッドを利用して下さい。メモデータの抽出に便利かも配列の中にobjectオブジェクトで作成したデータを設定しておくと、jQuery.grepメソッドを利用してデータの抽出ができます。サンプル(grep/test01.html)を開いて、以下の様に配列「myArray」内にobjectオブジェクトのデータがあることを確認してください。age:30}];そして抽出に利用するgrepFuncは以下の様になっており、要素のsexプロパティの値が「female」の要素だけを抽出するようにしました。appendメソッドを利用して抽出された配列のnameプロパティの値をbody内に表示するようにしました。"<br/>");});結果として、buttonをクリックするとsexプロパティがfemaleに設定されたmegとbethが表示されます。配列同士を引き算するfunctionを作ってみたjavaScriptには配列同士を引き算するメソッドが内ので、$.grepを利用して作成してみました。ansArray;}$.grepを利用しない場合はforを入れ子にするので上記以上の複雑さになりますが、上記もそれなりに複雑...。jQueryのユーティリティには配列に関するメソッドが色々あるので、配列を引き算するメソッドがあっても良いのになぁ、と思いました。phpには配列の差を求める関数(メソッド)があるそうです。jQuery.eachメソッドは配列だけでなくobjectオブジェクトにも対応しているので、grepメソッドも「もしかしたら」と思ったのですが...ダメでした。サンプル(grep/test03.html)を開いて、以下の様に配列「myArray」にobjectオブジェクトが設定されていることを確認して下さい。age:18};grepメソッドで実行するgrepFuncでは以下の様に引数の値をアラートで表示するようにしました。index);};しかしbuttonをクリックしても何も表示されず、やはりobjectオブジェクトには利用できないことが確認できます。mapメソッドやeachメソッドであれば、functionの引数には、プロパティ名とプロパティの値が渡されます。