私は、任意の数のレベルの深さであり、既存のプロパティを持つことができるオブジェクトを持っています。例えば:
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
}
};
どうすればそのような機能を実現できますか?
set('foo', 'bar'); set('foo.baz', 'qux');
、foo
最初の保持String
となり、その後Object
?どうなり'bar'
ますか?