मैंने एसी # लाइब्रेरी विकसित की है जो 3 परियोजनाओं में उपयोग की जाती है जो कोड के उस विशिष्ट टुकड़े में रिले करती है, हालांकि, मुझे अभी भी उस कोड को जावास्क्रिप्ट में उपयोग करने की आवश्यकता है, इसलिए मैं इसे पोर्ट कर रहा हूं, बात यह है कि, मुझे नहीं लगता कि मैं एक ही तर्क को दोहरा सकता हूं, उदाहरण के लिए, मैं कुछ दिनों के लिए इस बारे में सोच रहा हूं, मुझे जवाब नहीं मिल सका।पोर्टिंग सी # 3 डी ऐरे जेएस 3 डी ऐरे
सी # लाइब्रेरी में मेरे पास एक 3 डी सरणी है जो एप्लिकेशन में मूल संपत्ति की तरह है, और मुझे लगता है कि जेएस पर्यावरण में यह काम कैसे करना है।
उदाहरण के लिए मैं कोड के इस टुकड़े है:
public Obj[,,] objs = new Obj[18, 14, 8];
जो में मैं हर एक की स्थिति में वस्तुओं का आवंटन होता है, और बंदरगाह की कोशिश कर रहा है कि जावास्क्रिप्ट को, मालूम होता है परिणाम होगा में:
var 3dArr = new Array();
3dArr[0] = new Array();
3dArr[0][0] = new Array();
क्या यह हमेशा पहली स्थिति में सरणी ऑब्जेक्ट को नहीं रखेगा और यदि मैं और भी सेट करता हूं तो मैं पूरी सरणी खो दूंगा? या मैं गलत हूं
आप सही हैं। कोई अंतर्निहित प्रकार नहीं है जो जेएस में बहुआयामी सरणी का प्रतिनिधित्व करता है। – zerkms
आप जेएस में इसे नेस्टेड एरेज़ के रूप में बना सकते हैं, मुझे लगता है कि यह सी # 'सार्वजनिक ओब्ज [ओबीजे [ओबीजे []]] objs' में इसका वर्णन करेगा, या आप एक एपीआई के साथ एडाप्टर बनाते हैं जो एन-आयामी स्थिति और मानचित्र लेता है उन्हें आंतरिक डेटा-संरचना पर एक-आयामी कुंजी/सूचकांक तक। जैसे 'key = [x, y, z] .join ('::')' या 'index = (x * 14 + y) * 8 + z'। निश्चित + सत्यापन, कि स्थिति सीमा से बाहर नहीं है। – Thomas