我有一个数据:如何将更改保存在深层嵌套对象中?
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