首页 > 解决方案 > 如何使用变量作为键修改嵌套对象

问题描述

我有一个这样的嵌套对象:

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
}

这非常有帮助,但对我没有帮助,因为它只返回值。我想要做的是更改该值并将整个对象保存在文件中。

标签: javascriptobjectkey-value

解决方案


推荐阅读