Функция $.each()
Определение и применение
Функция $.each() перебирает массив, массивоподобный объект или свойства объекта. Она подходит, когда для
каждого значения нужно выполнить действие: собрать текст, обновить внешний счётчик или проверить элементы до первого
совпадения.
Синтаксис
$.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
<pre id="result"></pre>
main.js
const seen = []
$.each([4, 7, -3, 9], function (index, value) {
if (value < 0) {
return false
}
seen.push(index + ':' + value)
})
$('#result').text(seen.join(' | '))
Нажмите , чтобы запустить пример.