Как разбить/выйти из функции each() в JQuery?

У меня есть код:

$(xml).find("strengths").each(function() {
   //Code
   //How can i escape from this block based on a condition.
});

Как я могу выйти из "каждого" кодового блока на основе условия?

Обновление:

Что делать, если у нас есть что-то вроде этого:

$(xml).find("strengths").each(function() {
   $(this).each(function() {
       //I want to break out from both each loops at the same time.
   });
});

Можно ли вырваться из обеих "каждой" функции из внутренней "каждой" функции?

# 19.03.2013

Если вы хотите продолжить, а не разрываться

return true;

Ответ 1

Согласно документации вы можете просто return false; сломать:

$(xml).find("strengths").each(function() {

    if (iWantToBreak)
        return false;
});

Ответ 2

Вы можете использовать return false;

+----------------------------------------+
| JavaScript              | PHP          |
+-------------------------+--------------+
|                         |              |
| return false;           | break;       |
|                         |              |
| return true; or return; | continue;    |
+-------------------------+--------------+

Ответ 3

Возвращает false из анонимной функции:

$(xml).find("strengths").each(function() {
  // Code
  // To escape from this block based on a condition:
  if (something) return false;
});

Из документации каждого метода:

Возврат "false" из каждого функция полностью останавливает цикл через все элементы (это например, используя "разрыв" с нормальным петля). Возвращение "истина" изнутри петля переходит к следующей итерации (это похоже на использование "continue" с нормальный цикл).