[英]Edit deep object value by property
我有一个对象
let a = {b : {c : "d"}}
我有必须用新值改变的财产
let prop = "b.c";
let newValue = "e";
因此,在我的对象中,必须使用新值编辑“c”。
我试过
a[prop] = newValue; // but it create "b.c" property
let fields = prop.split('.');
a[fields] = newValue; // but it create "b,c" property
// all i want is a dynamic way to do
a[fields[0]][fields[1]] = newValue;
是否可以 ?
谢谢
使用reduce()
let a = {b : {c : "d"}} let prop = "bc" let newValue = "e" prop.split('.').reduce((a, o) => Object(a[o]) === a[o] ? a[o] : a[o] = newValue , a) console.log(a)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.