Итерация по не-jQuery Объектам - $.each ()

jQuery обеспечивает объектную утилиту итерации $.each(), так же как итератор коллекций jQuery: .each(). Они не являются взаимозаменяемыми.

$.each()

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

$.each() по существу является заменой традиционному циклу for или for-in. Пуст дан:

var sum = 0; var arr = [ 1, 2, 3, 4, 5 ];

Тогда это:

for ( var i = 0, l = arr.length; i < l; i++ ) { sum += arr[ i ]; } console.log( sum ); // 15

Может быть заменено этим:

$.each( arr, function( index, value ){ sum += value; }); console.log( sum ); // 15

Заметьте, что мы не должны обращаться к arr[ index ], поскольку значение удобно передается к функции обратного вызова в $.each().

Кроме того, пусть дано:

var sum = 0; var obj = { foo: 1, bar: 2 }

Тогда это:

for (var item in obj) { sum += obj[ item ]; } console.log( sum ); // 3

Может быть заменен этим:

$.each( obj, function( key, value ) { sum += value; }); console.log( sum ); // 3

Снова, мы не должны прямо обращаться к obj[ key ], поскольку значение передается прямо к обратному вызову.

Отметьте, что $.each() для простых объектов, массивов, подобных массиву объектов которые не являются коллекциями jQuery.

Это считалось бы неправильным:

// Неверно: $.each( $( "p" ), function() { // Сделать что-либо });

Далее: Итерация по Объектам jQuery - .each ()

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)