Рассмотрим следующий код:
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 JavaScript), а возвращение не-false остановит текущую итерацию и продолжит со следующей итерация (аналогично обычному оператору JavaScript continue).
Я могу разорвать или продолжить jQuery.each () самостоятельно, но с вложенным jQuery.each мне было трудно вырваться из родительского цикла из дочернего цикла. Я мог бы использовать логическое значение и обновлять его на каждой дочерней итерации, но мне было интересно, есть ли более простой способ.
Я настроил пример на jsFiddle , если вы хотите возиться с этим. Просто нажмите кнопку «Тест», чтобы запустить приведенный выше пример.
TLDR: Есть ли что-либо, напоминающее помеченное продолжение или разрыв в контексте jQuery?