次のコードを検討してください。
var sentences = [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
'Vivamus aliquet nisl quis velit ornare tempor.',
'Cras sit amet neque ante, eu ultrices est.',
'Integer id lectus id nunc venenatis gravida nec eget dolor.',
'Suspendisse imperdiet turpis ut justo ultricies a aliquet tortor ultrices.'
];
var words = ['ipsum', 'amet', 'elit'];
$(sentences).each(function() {
var s = this;
alert(s);
$(words).each(function(i) {
if (s.indexOf(this) > -1)
{
alert('found ' + this);
return false;
}
});
});
興味深い部分は、ネストされた jQuery.each() ループです。ドキュメントに従って、 false を返すとループから抜け出し (通常の JavaScript の break ステートメントと同様にループの実行を中止します)、false 以外を返すと現在の反復を停止し、次の反復を続行します (通常の反復と同様)。 JavaScript の continue ステートメント)。
jQuery.each() を単独で中断または続行することはできますが、ネストされた jQuery.each では、子ループ内から親ループから抜け出すのが難しいことがわかりました。ブール値を使用して、子の反復ごとに更新することもできましたが、もっと簡単な方法があるかどうか疑問に思っていました。
いじりたい場合は、jsFiddle で例を設定しました。「テスト」ボタンをクリックするだけで、上記の例を実行できます。
TLDR: jQuery のコンテキスト内で、ラベル付けされた継続または中断に似たものはありますか?