Mam obiekt, który może mieć dowolną liczbę poziomów głębokości i może mieć dowolne istniejące właściwości. Na przykład:
var obj = {
db: {
mongodb: {
host: 'localhost'
}
}
};
Na tym chciałbym ustawić (lub nadpisać) takie właściwości:
set('db.mongodb.user', 'root');
// or:
set('foo.bar', 'baz');
Gdzie ciąg właściwości może mieć dowolną głębokość, a wartość może być dowolnym typem / rzeczą.
Obiekty i tablice jako wartości nie muszą być łączone, jeśli klucz właściwości już istnieje.
Poprzedni przykład dałby następujący obiekt:
var obj = {
db: {
mongodb: {
host: 'localhost',
user: 'root'
}
},
foo: {
bar: baz
}
};
Jak mogę zrealizować taką funkcję?
set('foo', 'bar'); set('foo.baz', 'qux');
, gdziefoo
najpierw trzyma a,String
a potem staje sięObject
? Co się dzieje'bar'
?