javascript - 有没有办法使用字符串为对象的深层嵌套属性赋值?
问题描述
所以假设有一个对象a
:
let a = {
b: {
c: {
d: {
e: null
}
}
}
}
任务是创建一个方法,该方法将a
通过属性路径为 -object 的属性分配一个值,该路径将作为字符串传递给方法。所以预期的结果是:
方法
let magicMethod = ({prop, value}) => {
/*magic here*/
}
称呼:
magicMethod({prop: 'b.c.d.e', value: true})
结果(console.log(a)):
{
b: {
c: {
d: {
e: true
}
}
}
}
它应该适用于所有深度级别,因此调用magicMethod({prop: 'b.c', value: true})
应该将a
-object 修改为:
{
b: {
c: true
}
}
有没有办法通过递归或其他方式实现这种行为?
但它不灵活,老实说,我一点也不喜欢它 :) 我觉得有一些更聪明的解决方案。
解决方案
推荐阅读
- python - 在线程上从 Python 调用 Julia
- php - 如何为 preg_replace_callback() 编写有效回调:需要参数 2,''s:'.strlen('$2').':"$2";'',
- python - 从字典列表中提取列表
- python - 如何基于多列创建唯一标识符?
- postgresql - 为什么子查询中的 distinct on 会损害 PostgreSQL 的性能?
- c# - 使通过 C# 代码添加的 TabItems 自动调整大小
- python - 使用 SQLAlchemy 写入 SQL Server 非常慢
- java - 在 selenium 中管理 URL 重定向
- froala - 当 emojionearea 在同一个编辑器上组合时,at.js 在 fraola 编辑器上不起作用
- javascript - React Native TypeError:无法读取未定义的属性'projectName'