я столкнулся странное поведение в цикле, который содержит массив объектовНеправильный длина массива в цикл
Ниже приведен пример
var store = {};
var storesWithTimestamps = [];
for (var i=0;i<2;i++){
console.log("inital list",storesWithTimestamps); //1
console.log("inital length",storesWithTimestamps.length); //2
store = {};
store.latestTimestamp = null;
store.storeName = "testStore";
storesWithTimestamps.push(store);
console.log("new list",storesWithTimestamps); //3
console.log('new length',storesWithTimestamps.length); //4
}
Проблема журнала утверждение 3 показывает массив объекта с 2-мя элементами в 1-й итерации, но оператор журнала 4 показывает длину как 1.
Результат оператора 3 журнала одинаковый для обеих итераций, как это, [{latestTimestamp: null, storeName : "testStore"}, {latestTimestamp: NUL л, StoreName: "testStore"}]
Где, как это должно быть первая петля:
[{latestTimestamp:null,storeName:"testStore"}]
второй цикл:
[{latestTimestamp:null,storeName:"testStore"},{latestTimestamp:null,storeName:"testStore"}]
FYI: это работает, как ожидается, в Safari, но не на хром - OSX Прикрепленный скрипку: http://jsfiddle.net/gauravsoni/09Ls3rtx/
http://jsfiddle.net/ arunpjohny/fysnjt74/1 /? отлично выглядит –
Работаю в Chrome для меня. –
@SpencerWieczorek PLS см. Скриншот, не знаю, что происходит ... –