javascript - 使用用户指定的路径更改嵌套对象值
问题描述
问题
我想构建一个函数,该函数接受嵌套对象值的路径并将该值设置为“新值”
const obj = {
foo: {
bar: 'baz'
}
}
// api should look like
changeObjKey(o => o.foo.bar)
//or
changeObjKey('foo.bar')
/*
* expected:
obj = {
foo: {
bar: 'new value'
}
}
*/
我试过的:
像这样的东西(显然不起作用)
function changeObjKey(cb){
cb(obj) = 'new value'
}
我不想使用 lodash 或类似的东西,我正在寻找这个问题的最小解决方案。我也不想使用 eval 并且 api 应该同时支持 foo.bar 和 foo[bar] (如果它基于字符串)
解决方案
推荐阅读
- r - 从矩阵创建布尔矩阵
- environment-variables - Visual Studio 2019 Enterprise 在使用 IIS Express 调试/运行时自动添加 COMPLUS_ForceENC 环境变量
- javafx - 向页面添加更多项目(分页 javafx)
- java - setImageRessource 在计时器 android studio 中不起作用
- ios - 如何从照片中加载单个图像
- python - 使用 Bottle 运行服务器后打开 Web 浏览器
- javascript - Javascript 电子邮件名称/域长度
- three.js - 如何在 Three.js 中绘制几何上的各种纹理
- json - 我需要一种可靠的方法来计算资源的 nbr
- javascript - 嵌套返回语句中的“这是未定义的”