【メモ】prototype.jsのeachでcontinue

ググると以下を使うと良いと書いてあるのだけど、

throw $continue;

1.6では動かない。
仕様を読むと、

The usage of $continue is deprecated. This feature will not be available in releases after Prototype 1.5 in favor of speed. Instead–since your blocks are in fact functions–simply issue a return statement. This will skip the rest of the block, jumping to the next iteration.
 

とあって、つまりは、1.5以降ではサポートされてないとのこと。

代わりに、

return;

とやれば、問題なく動作するよとのこと。なるほどね。


こんな感じか。

var result = [];
$R(1,10).each(function(n) {
if (0 == n % 2)
return;
result.push(n);
});
// result -> [1, 3, 5, 7, 9]

breakの方はなんか特になさそう。



ていうかまぁ、いつまでprototype.js使うんだろね、という話ではあるんだけども…