दिलचस्प पोस्ट
एंड्रॉयड यूट्यूब स्थिर यूज़रनेम और पासवर्ड के साथ वीडियो अपलोड करें Ajax और jquery का उपयोग कर div सामग्री की जगह यह साधारण फेरबदल एल्गोरिथ्म पक्षपातपूर्ण परिणाम क्यों पैदा करता है? एक सरल कारण क्या है? Android किटकैट में एमएमएस संदेश प्राप्त करें डबल विस्मयादिबोधक अंक? आप कैसे यूनिट परीक्षण निजी विधियों कर सकते हैं? स्काला संदर्भ और दृश्य सीमा क्या हैं? पैकेज के पुराने संस्करण को डाउनलोड करें तालिका में हर एक्स पंक्तियों की औसत गणना करें और नई तालिका बनाएं क्या मुझे घोषणा या कंस्ट्रक्टर पर इंस्टेंस चर को इन्स्तांत करना चाहिए? मैं सिमिटियों का पालन करने के लिए git कैसे प्राप्त करूं? MySql php: यदि रो मौजूद है तो जांचें क्लास में मेरे पास एक गैर-अभिन्न स्थिर कॉन्स्ट सदस्य क्यों नहीं हो सकता? Cassandra CQL में इनर शामिल हों ग्रुप द्वारा प्रत्येक समूह एन परिणाम प्राप्त करने के लिए LIMIT का उपयोग करना?

क्या मैं दो चर के साथ एक केस / स्विच स्टेटमेंट का उपयोग कर सकता हूं?

जब जावास्क्रिप्ट की बात आती है तो मैं एक नौसिखिया हूँ और यह मेरी समझ थी कि एक स्विच / केस स्टेटमेंट का इस्तेमाल करते हुए IF बयान की एक पूरी श्रृंखला से भी तेज है।

हालांकि, मैं दो चर के साथ एक SWITCH / CASE कथन का उपयोग करना चाहता हूं

मेरे वेब ऐप में दो स्लाइडर्स हैं, जिनमें से प्रत्येक में पांच राज्य हैं। मैं चाहता हूं कि व्यवहार इन दो चर के राज्यों के आधार पर होगा। जाहिर है कि यदि बहुत सारे IF / THEN बयानों का एक पूरा ढेर है

एक तरह से मैं ऐसा करने के बारे में सोचा था कि दो चर को एक में जोड़ रहा था और फिर मैं स्विच / केस कर सकता था।

क्या दो चर का प्रयोग करके एक SWITCH / CASE पूरा करने का एक बेहतर तरीका है?

धन्यवाद !

Solutions Collecting From Web of "क्या मैं दो चर के साथ एक केस / स्विच स्टेटमेंट का उपयोग कर सकता हूं?"

बिटवाइ ऑपरेटर के बारे में कैसे? स्ट्रिंग्स के बजाय, आप "एंमोम्स" से निपटते हैं, जो कि "सुरुचिपूर्ण" दिखता है।

 // Declare slider's state "enum" var SliderOne = { A: 1, B: 2, C: 4, D: 8, E: 16 }; var SliderTwo = { A: 32, B: 64, C: 128, D: 256, E: 512 }; // Set state var s1 = SliderOne.A, s2 = SliderTwo.B; // Switch state switch (s1 | s2) { case SliderOne.A | SliderTwo.A : case SliderOne.A | SliderTwo.C : // Logic when State #1 is A, and State #2 is either A or C break; case SliderOne.B | SliderTwo.C : // Logic when State #1 is B, and State #2 is C break; case SliderOne.E | SliderTwo.E : default: // Logic when State #1 is E, and State #2 is E or // none of above match break; } 

मैं तो दूसरों के साथ सहमत हूं, एक स्विच-केस लॉजिक में 25 मामले बहुत सुंदर नहीं हैं, और यदि-दूसरे शायद कुछ मामलों में "बेहतर" लगते हैं वैसे भी।

 var var1 = "something"; var var2 = "something_else"; switch(var1 + "|" + var2) { case "something|something_else": ... break; case "something|...": break; case "...|...": break; } 

यदि आपके पास प्रत्येक के लिए 5 संभावनाएं हैं तो आपको 25 मामलों मिलेगी।

सबसे पहले, जावास्क्रिप्ट का switch if/else (और कभी-कभी बहुत धीमा) की तुलना में तेज नहीं है ।

दूसरा, एकाधिक चर के साथ switch का उपयोग करने का एकमात्र तरीका उन्हें एक आदिम (स्ट्रिंग, संख्या, आदि) मान में जोड़ना है:

 var stateA = "foo"; var stateB = "bar"; switch (stateA + "-" + stateB) { case "foo-bar": ... ... } 

लेकिन, व्यक्तिगत तौर पर, मैं / if else स्टेटमेंट्स का एक सेट देखना चाहता हूं।

संपादित करें : जब सभी मान पूर्णांक होते हैं, तो ऐसा प्रतीत होता है कि स्विच क्रोम में / if में अन्य हो सकता है। टिप्पणियाँ देखें

मुझे विश्वास नहीं है कि एक स्विच / केस किसी भी तेज / ifif की श्रृंखला की तुलना में है। वे एक ही काम करते हैं, लेकिन यदि / elseif आप कई चर को देख सकते हैं आप एक से अधिक मान पर स्विच / केस का उपयोग नहीं कर सकते।

आप प्रत्येक स्लाइडर पर प्रत्येक स्थिति को 1 से 1000000000 में एक अलग बाइनरी मान दे सकते हैं और फिर राशि के साथ काम कर सकते हैं।

यदि प्रत्येक संयोजन की क्रिया स्थिर है, तो आप दो-आयामी सरणी का निर्माण कर सकते हैं:

 var data = [ [1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20], [21,22,23,24,25] ]; 

उपरोक्त उदाहरणों में संख्या कुछ भी हो सकती है, जैसे कि स्ट्रिंग, सरणी, आदि। मान प्राप्त करना अब एक-लाइनर है (संभालने वाले स्लाइडर्स में [0,5) का मान श्रेणी है:

 var info = data[firstSliderValue][secondSliderValue];