Javascript. jQuery. Реализация цикла foreach.


В php есть очень удобный цикл перебора массивов — foreach. К сожалению, в Javascript нет его прямого аналога, но нужный нам функционал обеспечит jQuery.

Сразу скажу, что цикл foreach, по своей сути, необходим для перебора ассоциативных массивов, которыми в javascript являются объекты.

Для перебора простых массивов следует использовать следующий вариант:

var array = [1, 3, 5, 7] ;
for( i in array ){
  console.log( array[i] );
}

В случае же с объектами — следует использовать jquery-метод $.each(). Привожу простой пример его работы:

    var ob = [
        {
            id: 11,
            firstname: "Сергей"
        },
        {
            id: 21,
            firstname: "Максим"
        },
        {
            id: 31,
            firstname: "Федор"
        },
    ];
    $.each(myObjects, function(){
        console.log("ID: " + this.id);
        console.log("Имя: " + this.firstname);
    });

Как видим, метод проходит по объекту, который мы передаем первым параметром и для каждого элемента вызывает анонимную функцию, которая передана вторым параметром.

При этом ключ и значение объекта будут доступны в данной функции в качестве первого и второго входящего параметра, соответственно. Например:

var json = [ 
 { 'красный': '#f00' },
 { 'зеленый': '#0f0' },
 { 'голубой': '#00f' }
];

$.each(json, function () {
   $.each(this, function (color, hex) {
      console.log(color + '=' + hex);
   });
});
, ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *