javascript - 如何使用变量作为键修改嵌套对象
问题描述
我有一个这样的嵌套对象:
let obj = {
a : {
b : {
c : 123
}
},
d:{
e : 321
}
}
我要做的是创建一个函数,该函数接受参数作为键并更改对象值并将整个对象保存在文件中(使用 JSON stringify);像这样的某事:
let var1 = "a" , var2 = "b" , var3 = "c" , var4 = "d" , var5 = "e";
obj.var1.var2.var3 = 0; // of course it's not right, just to show the main concept
obj.var4.var5 = 1;
let dataStr = JSON.stringify(obj);
fs.writeFile("path" , dataStr);
我尝试了很多方法,但没有一个能正常工作。我的对象非常大且嵌套。上面显示的“obj”只是一个示例。有人会建议最好的方法吗
**
更新:
** 我还没有为我的问题找到任何有用的解决方案。我找到了这个:
function mod(path){
let res = obj;
path = path.split(".");
for(i = 0; i < path.length; i++) res = res[path[i]];
return res
}
这非常有帮助,但对我没有帮助,因为它只返回值。我想要做的是更改该值并将整个对象保存在文件中。