मेरे पास एक ऐसी वस्तु है जो किसी भी स्तर के गहरे स्तर तक हो सकती है और किसी भी मौजूदा गुण हो सकती है। उदाहरण के लिए:
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'
?