युक्त ऑब्जेक्ट्स की सरणी घोषित करें मेरे पास अन्य ऑब्जेक्ट्स वाली ऑब्जेक्ट्स हैं। जिस क्षण मैं उन्हें घोषित करता हूं वह बहुत लंबा हवादार होता है। ऐसा करने के लिए और अधिक गाढ़ा रास्ता देखते हैं है निम्नलिखित:ऑब्जेक्ट्स
:function city(name,population)
{
this.name = name;
this.population = population;
}
function state(name)
{
this.name= name;
this.cities = new Array();
}
function country(name)
{
this.name= name;
this.states = new Array();
}
Countries = new Array();
Countries[0] = new Country("USA");
Countries[0].states[0] = new State("NH");
Countries[0].states[0].cities[0] = new city("Concord",12345);
Countries[0].states[0].cities[1] = new city("Foo", 456);
...
Countries[3].states[6].cities[35] = new city("blah", 345);
वहाँ इस सेटअप कि इतने वर्बोज़ नहीं है की घोषणा करने के लिए एक तरह से, कैसे एक xml बाहर रखी जाएगी, कुछ तरह के लिए कुछ similair है
data =
usa
NH
concord: 34253
foo: 3423
blah: 99523
NC
place: 23522
Uk
foo
bar: 35929
yah: 3452
मैं समझ नहीं सकता कि वेरिएबल नामों को लगातार दोहराने के बिना सरणी घोषणाओं को कैसे घोंसला करना है।
मैं इस सरणी की सामग्री को किसी अन्य स्वतंत्र सरणी में कैसे कॉपी करूं? जब मैं करता हूं, न्यू_Countries [1] = देश [0], मुझे लगता है कि ऑब्जेक्ट संदर्भ की प्रतिलिपि बनाई जा रही है और दोनों एक ही वस्तु को इंगित करते हैं। धन्यवाद। – Themasterhimself
@Themasterhimself: गहरी प्रतिलिपि के लिए आपको इसे अपने आप पुनः करने की आवश्यकता है। सरणी और वस्तुओं के माध्यम से पुनरावृत्त करने के लिए फ़ंक्शंस लिखें और जब तक आप कोई संख्या या स्ट्रिंग न दबाएं तब तक उन्हें एक-दूसरे को कॉल करें। ऑब्जेक्ट्स के लिए ऑब्जेक्ट्स के लिए (var x = 0; x
slebetman
@Themasterhimself: कुछ पुस्तकालय पहले ही गहरी प्रतिलिपि विधियों/कार्यों को लागू कर सकते हैं। यह jQuery या अंडरस्कोर को देखने लायक हो सकता है। लेकिन खुद को लिखना वाकई मुश्किल नहीं है। – slebetman