Javascript 使用用户指定的路径更改嵌套对象值 问题
我想构建一个函数,该函数接受嵌套对象值的路径,并将该值设置为“新值”Javascript 使用用户指定的路径更改嵌套对象值 问题,javascript,Javascript,我想构建一个函数,该函数接受嵌套对象值的路径,并将该值设置为“新值” const obj={ 傅:{ 酒吧:“巴兹” } } //api应该是 changeObjKey(o=>o.foo.bar) //或 changeObjKey('foo.bar') /* *预期: obj={ 傅:{ 栏:“新值” } } */ 我所尝试的: 类似这样的东西(显然不起作用) 我不想使用lodash之类的东西,我正在寻找这个问题的最简单的解决方案。我也不想使用eval,api应该同时支持foo.bar和foo
const obj={
傅:{
酒吧:“巴兹”
}
}
//api应该是
changeObjKey(o=>o.foo.bar)
//或
changeObjKey('foo.bar')
/*
*预期:
obj={
傅:{
栏:“新值”
}
}
*/
我所尝试的:
类似这样的东西(显然不起作用)
我不想使用lodash之类的东西,我正在寻找这个问题的最简单的解决方案。我也不想使用eval,api应该同时支持foo.bar和foo[bar](如果基于字符串)
api的用法会是怎样的呢?
changeObjKey(o=>o.foo.bar)
?它既不指定要传入的对象,也不指定要更改的值o.foo.bar
to@NickParsons此外,如果解析为基元类型,它如何工作?@NickParsons这两个都是固定的。
function changeObjKey(cb){
cb(obj) = 'new value'
}