मुझे संदर्भ पद्धति द्वारा एक्शनस्क्रिप्ट के सरणी असाइनमेंट के साथ काम करने के लिए अपरिचित लगता है। मैं समझता हूं कि यह क्या कर रहा है, लेकिन मुझे किसी भी तरह से इस पद्धति के साथ कई सरणी प्रबंधित करने में भ्रमित लगता है। क्या एक्शनस्क्रिप्ट सरणी के साथ काम करने का कोई आसान तरीका है जहां सरणी असाइनमेंट संदर्भ के बजाय VALUE द्वारा है? उदाहरण के लिए, यदि मैं oneArray
से twoArray
को भविष्य में हमेशा के लिए दो सरणी को जोड़ने के बिना असाइन करना चाहता हूं, तो इसे कैसे करें? क्या यह काम करेगा?एक्शनस्क्रिप्ट: संदर्भ के बजाय VALUE द्वारा सरणी कैसे असाइन करें?
var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array(3);
for (ii=0; ii<3; ii++) { twoArray[ii] = oneArray[ii]; }
आशय oneArray
में बदलाव देखे बिना twoArray
बदलने में सक्षम होने के लिए है।
कोई सलाह कि संदर्भ के बजाय VALUE द्वारा सरणी कैसे असाइन करें?
---- संदर्भ के लिए ----
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html
सरणी काम संदर्भ के बजाय मूल्य द्वारा होता है। जब आप किसी अन्य सरणी चर करने के लिए एक सरणी चर निर्दिष्ट करते समय दोनों एक ही सरणी का संदर्भ लें:
var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array = oneArray; // Both array variables refer to the same array.
twoArray[0] = "z";
trace(oneArray); // Output: z,b,c.
बस मेरी दिशा की दिशा में आपको आगे बढ़ाने के लिए टास्किनूर का जवाब देखा, हे, 'कंसट' वास्तव में एक ऐरे क्लोनिंग के मामले में 'स्लाइस' के रूप में तेज़ है। :) – xLite
धन्यवाद! मैंने थोड़ा सा शोध किया और आपके दावे का समर्थन करने वाले कुछ लिंक पाए। यहां एक है: http://agit8.turbulent.ca/bwp/2008/08/flash-as3-optimization-fastest-way-to-copy-an-array/ – ggkmath
यह केवल एक उथली प्रतिलिपि बना देगा। एक सरणी की गहरी प्रतिलिपि के लिए आपको AS3 में क्लोनिंग सरणी के लिए बाइटएरे का उपयोग करना होगा: http: //help.adobe।com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ee7.html – TheDarkIn1978