機能jQuery.eachメソッドは第1引数に指定した配列(またはobjectオブジェクト)の各要素を個別に第2引数のfunctionで処理します。jQuery.eachメソッドは返値を返しますが、これは第1引数で受け取ったものを変更せずにそのまま返します。jQuery.mapメソッドを利用してください。第2引数のfunction内でfalseを返すと処理を中止します。trueを返すと現在の要素の処理をスキップします。配列の各要素を個別に処理するサンプル(each/01.html)を開いてbody内にbutton要素しかないことを確認して下さい。jQueryは、まず以下の部分を確認してください。buttonをクリックするとjQuery.eachメソッドを利用して第1引数に設定した配列の2つの要素をeachFuncで個別に処理します。eachFunc);});jQuery.eachメソッドの引数に設定するFunctionは以下の様な構文になっています。要素の値)を受け取ります。この引数の順番は$.mapメソッドと逆なので、紛らわしいです...これらの引数の値は{}内の処理で利用することができ、セレクタに含まれている要素ごとに処理を実行できます。処理の途中でfalseを返すと、その時点でjQuery.eachメソッドの処理を中断します。trueを返すと現在処理している要素の処理だけをスキップします。returnは設定しなくても問題ありません。appendメソッドを利用してbody要素内にインデックス番号と、その要素の値を追加します。"<br/>");};結果として、buttonをクリックするとbody要素内に配列のインデックス番号と、その要素の値が表示されます。第2引数のfunctionは無名関数にして直接設定することができます。"<br/>");});});objectオブジェクトの各プロパティを個別に処理するjQuery.eachメソッドの第1引数に配列を設定した場合は前項のようにfunctionの引数として「インデックス番号」と「値」が渡されますが、第1引数にobjectオブジェクトを設定した場合はインデックス番号の代わりにプロパティ名、要素の値の代わりにプロパティの値が渡されます。true/false;}サンプル(each/02.html)を開いてbody内の構成がeach/01.htmlと同じ事を確認してください。jQueryは以下の様に記述されjQuery.eachメソッドの第1引数に配列ではなくobjectオブジェクトが設定されています。eachFunc);});});eachFuncは変数名などが異なるだけで、処理的にはeach/01.htmlとまったく同じです。"");};結果として、buttonをクリックするとobjectオブジェクトのプロパティ名と、その値が表示されます。処理を途中で中断する第2引数のfunction内でfalseを返すことで処理を中断できます。サンプル(each/03.html)を開いてbody内の構成がeach/01.htmlと同じ事を確認してください。jQueryは以下の様に記述されています。eachFunc);});第1引数に設定された配列「myArray」は以下の様になっており、2番目の要素だけが数値ではなく文字列になっています(インデックス番号は0から始まるので、3番目ではなく2番目となります)。[1,2,"aaa",4,5];第2引数に設定されたfunction「eachFunc」は以下の様に記述されています。jQUery.isNumericメソッドを利用して配列の値が数値でなかったら{}内の処理を実行するようにしています。{}内ではappendメソッドを利用して、中断する旨を表示しreturnでfalseを返し、処理を中断します。"<br/>");};配列「myArray」は2番目の要素が数値ではないため、buttonをクリックすると0番目と1番目の処理は実行しますが、2番目以降の処理は実行されません。処理をスキップする第2引数のfunction内でtrueを返すことで現在の要素の処理だけスキップできます。サンプル(each/04.html)を開いてbody内の構成がeach/03.htmlと同じ事を確認してください。jQueryもeach/03.htmlとほとんど同じなのですが、以下の様にreturnでfalseではなくtrueを返すように変更してあります。"<br/>");};trueを返すと中断ではなく現在の処理だけをスキップするので、buttonをクリックすると2番目の処理だけがスキップされます。eachメソッドを利用してください。jQuery.mapメソッドを利用してください(jQuery.eachメソッドの返値は変更されません)。eachメソッドはメソッドチェーンの途中で利用する際に、後続のメソッドに渡すjQueryオブジェクトを変更したくない時に便利です。mapメソッドを利用します。フィルタリングするか否かで使い分けます。jQuery.eachメソッドも返値と引数に設定したデータが同じか一応確認しました。サンプル(each/test01.html)を開いてください。基になっているのは処理を中断するサンプルのeach/03.htmlです。変更した点は以下の部分で、jQuery.eachメソッドの返値を変数ansArrayで受け取り、myArrayと比較した結果をアラートで表示するようにしています。ansArray);});結果として、buttonをクリックすると「true」と表示されるので、やはり返値は変更されていないことが確認できます。これは対象が配列ではなくobjectオブジェクトの時も同じです。jQuery.mapメソッドはobjectオブジェクト処理した結果、配列に変換してしまいます。実用的なサンプル$.eachメソッドは元データを変更しないので、条件に合ったデータを表示する時などに利用します。サンプル(each/test02.html)を開いてjQueryを確認してください。以下の様な配列データ(各要素はobjectオブジェクト)が作成されています。age:30}];そしてbuttonをクリックすると、以下の処理を行うようにしました。ポイントは2行目のif文で要素のsexプロパティが「female」の場合だけ、3行目の処理を行うようにしています。appendメソッドによってbody内に表示されます。jQuery.mapメソッドを利用してください。jQuery.grepメソッドと異なり、返値は変更されません。元データも変更されないのですが念のため確認します。サンプルサンプル(each/test03.html)を開いて、ほとんどeach/03.htmlと同じ事を確認してください。異なるのは以下の様に$.eachメソッドの実行前と後で配列「myArray」の内容を表示する処理を追加した点だけです。"<br/>");});buttonをクリックして、実行前と後の内容を比較してください。変化していないことが確認できます。