我有一個數據:如何將更改保存在深層嵌套對象中?
reservations = {
"2016":{"A36822":{"datetime":"6/22/17 at 11:00AM","visitors":"11 guests", "notes_backend":"Some notes 111"}},
"2017":{"A36822":{"datetime":"6/22/17 at 11:00AM","visitors":"11 guests", "notes_backend":"Some notes 222"}}
}
我需要改變一些notes_backend
,然後發送更新reservations
到API。
這裏是我的代碼:
var reservations_obj = JSON.parse(reservations),
raw_id = 'A36822';
for (var year in reservations_obj){
if (raw_id in reservations_obj[year]){
reservations_obj[year][raw_id]["notes_backend"] = "UPDATED NOTES";
console.log('new_data:', reservations_obj[year][raw_id]); // new_data: {datetime: "6/22/17 at 11:00AM", visitors: "11 guests", notes_backend: "UPDATED NOTES"}
console.log(JSON.stringify(reservations_obj)); // no changes
break;
}
}
... send updated reservations_obj to API
第一console.log
顯示reservations_obj[year][raw_id]
改變,但第二console.log
顯示我最初reservations_obj
沒有任何更新。
上面的代碼是基於Python的邏輯,但如何在JavaScript中實現它?
請問您能解釋究竟是什麼問題,因爲您的代碼已經是javascript實現了。 –
請注意代碼中的註釋。第一個'console.log'顯示'reservations_obj [year] [raw_id]'被更改,但第二個'console.log'顯示我沒有任何更新的最初'reservations_obj'。 – TitanFighter
如果我刪除由於語言的「開始評論」使用錯誤符號而導致的語法錯誤,它看起來工作正常。有什麼問題? (投票關閉由於錯字引起的題外話題) – Quentin