我有一個包含以下代碼的函數:JavaScript數組項被覆蓋
stores = [];
console.log('in stores d.length is ', districts.length);
districts.forEach(function (dis) {
dis.store.forEach(function(store) {
store.structure = dis.structure;
store.structure.dis = dis.district_nbr;
store.structure.sto = store.store_nbr;
//store.message = getMessage(store.structure);
console.log('store st is ', store.structure);
stores.push(store);
});
});
stores.forEach(function (s) {
console.log("after set Master this is stores ", s.structure);
})
作爲環路去,我初始化爲每個商店對象structure
開始作爲從父具有DIS對象的結構幾個領域,並已被驗證爲正確的。然後我在結構對象中添加一些額外的字段來計算區號和存儲號。每個dis對象都有一組獨特的商店。
嵌套for循環中的console.log
顯示商店的正確結構。但是,當我在事實後打印這些商品時,商店的所有商品都有循環中的最終區號和循環中的最終商店編號,而不是各自的正確值。
問題:在Array.push()中發生了什麼,我沒有意識到通過重擊之外的東西?我認爲我真正的問題是我錯過了什麼?