2014年7月17日木曜日

ループの中で途中でループから抜けたいときや、
以降の処理をスキップさせループ処理に戻りたい場合などに「break」や「continue」を使いますが、
jqueryのループ(each)などで「break」や「continue」を使うとエラーになります。

そんなときは・・・。

ということで下記のサンプルをご覧ください。
javascriptのサンプル
var testArray = [ 10, 20, 30, 40, 50 ];

var cnt1 = 0;
for (var i = 0;i <= testArray.length -1;i++) {

 if (i == 0) {
  continue;
 }

 if (i == 3) {
  break;
 }
 cnt1 = cnt1 + testArray[i];
}
alert(cnt1);

上記ソースを動かすと、「50(20 + 30)」が表示されます。

では、jqueryではどう書くのかな。

jqueryのサンプル
var testArray = [ 10, 20, 30, 40, 50 ];

var cnt2 = 0;
$(testArray).each(
 function(i) {

  if (i == 0) {
   return true;
  }

  if (i == 3) {
   return false;
  }

  cnt2 = cnt2 + testArray[i];
 }
);
alert(cnt2);


javascriptの結果と同じ、「50」が表示されます。

javascriptの「continue」に該当するのが、
return true;

javascriptの「break」に該当するのが、
return false;

ということでした。

0 コメント:

コメントを投稿

要望&問い合わせ

名前

メール *

メッセージ *