После первой итерации цикла each
myArr
полностью загружен всеми 4 объектами. (Посмотрите на консоль для печати из console.log(myArr)
- после первый цикл).Зацикливание через массив объектов - массив полностью загружен после первой итерации
Я изо всех сил, чтобы понять, как это происходит, потому что если вы посмотрите на печать из console.log(item)
, он содержит только 1 объект, не все 4.
Так как myArr
получение полной загрузке после первой итерации , когда это должно происходить только после 4-й итерации?
Вот ссылка на JSFiddle с тем же кодом: http://jsfiddle.net/bengrunfeld/fdtom886/
var obj = [
{
"id": 1111,
"todoText": {"index":2,"items":[{"firstName":"Benny"},{"lastName":"Hill"}]}
},
{
"id": 2222,
"todoText": {"index":2,"items":[{"firstName":"Bob"},{"lastName":"Marley"}]}
},
{
"id": 3333,
"todoText": {"index":2,"items":[{"firstName":"John"},{"lastName":"Lennon"}]}
},
{
"id": 4444,
"todoText": {"index":2,"items":[{"firstName":"Led"},{"lastName":"Zeplin"}]}
},
];
var myArr = [];
$.each(obj, function(key, item) {
console.log(myArr);
console.log(item);
myArr.push(item);
});
@Rooster - извините, но если вы посмотрите на 1-й отпечаток из 'console.log (myArr)' в своем JSFiddle, он по-прежнему распечатывает полностью загруженный массив. По крайней мере, это на моей машине (Chrome). Не могли бы вы объяснить, почему это так? – Ben