Функция $.each()

Определение и применение

Функция $.each() перебирает массив, массивоподобный объект или свойства объекта. Она подходит, когда для каждого значения нужно выполнить действие: собрать текст, обновить внешний счётчик или проверить элементы до первого совпадения.

Синтаксис

JavaScript
$.each(array, function (index, value) { /* действие */ });
$.each(object, function (key, value) { /* действие */ });

Параметры и возвращаемое значение

Первый аргумент обработчика — индекс или ключ, второй — значение. Функция возвращает исходный перебираемый объект, а не массив результатов. Для преобразования значений предназначена $.map().

Возврат строго false прекращает обход. Иные возвращаемые значения, включая undefined, продолжают его. Это отличается от Array.prototype.forEach(), где возврат false не останавливает перебор.

Метод .each() применяется к коллекции jQuery; статическая $.each() работает с переданными данными. В обычной функции this связан с текущим значением, но для ясности лучше использовать явный аргумент value.

Особенности и совместимость

При обходе объекта учитываются перечисляемые строковые свойства, включая унаследованные. Если нужны только собственные пары, используйте Object.entries() либо проверку Object.hasOwn().

Не рассчитывайте на предсказуемый обход одновременно добавляемых и удаляемых элементов. Для последовательного ожидания асинхронных операций нужен отдельный цикл: $.each() не ожидает возвращаемые Promise.

Документация

Пример использования

Остановка на первом отрицательном числе: попробуйте сами

Обход остановится на −3. В результат попадут только два предшествующих положительных числа. Используется jQuery 4.0.0.

index.html
HTML
<pre id="result"></pre>
main.js
JavaScript
const seen = []
$.each([4, 7, -3, 9], function (index, value) {
    if (value < 0) {
        return false
    }
    seen.push(index + ':' + value)
})
$('#result').text(seen.join(' | '))