最佳答案
我有一个对象,可以是任意数量的层次深度,可以有任何现有的属性。 例如:
var obj = {
db: {
mongodb: {
host: 'localhost'
}
}
};
关于这一点,我想像下面这样设置(或覆盖)属性:
set('db.mongodb.user', 'root');
// or:
set('foo.bar', 'baz');
其中属性字符串可以有任何深度,值可以是任何类型/事物。
如果属性键已经存在,则不需要合并作为值的对象和数组。
前面的例子将产生以下对象:
var obj = {
db: {
mongodb: {
host: 'localhost',
user: 'root'
}
},
foo: {
bar: baz
}
};
我如何实现这样的功能?