edit1: जावास्क्रिप्ट, नहीं जावा के लिए संशोधित किया। ओह ...
मुझे यकीन है कि अगर आप सभी संयोजनों देखना चाहते हैं नहीं कर रहा हूँ, लेकिन आप प्रत्येक संभव उत्पादन के लिए एक अंकीय मान शुरू करने से समूह उन्हें कर सकते हैं।
कंक्रीट में 5 चर और 2 चर प्रत्येक चर हैं? मैंने बाइनरी प्रतिनिधित्व में संख्याओं के साथ एक टेबल सेट किया है। यदि वहां 2 विकल्प हैं (या कुछ पर) चर 2 आपको संख्याओं (आधार 10) का उपयोग करना है। आप एक विधि में तरह
const locVal = (loc > 0 ? 0x1 : 0x0) << 0;
const catVal = (cat < 0 ? 0x1 : 0x0) << 1;
const priceVal= (price < 0 ? 0x1 : 0x0) << 2;
ect
द्विआधारी मूल्यों का उपयोग कर सकते हैं तो तुम समूह उन्हें कर सकते हैं:
function foo(trueCond, level) {
return (trueCond ? 0b1 : 0b0) << level;
}
जो
const locVal = foo(loc > 0, 0);
const catVal = foo(cat > 0, 1);
const priceVal= foo(price > 0, 2)
बनाता है (मैं अन्य वार्स नहीं दिखाए हैं ...) फिर बाइनरी मान
const total = locVal + catVal + priceVal
तो फिर तुम अब total
में मौजूद बाइनरी अनुक्रम का पूर्णांक मूल्य का प्रतिनिधित्व करता case
में मूल्यों की तरह
switch (total) {
case 0: // all options negative
case 1: // only loc is positive
case 2: // only cat is positive
case 3: // both loc and cat is positive
ect
}
एक स्विच मामले कथन का उपयोग करने के लिए है। यह ध्यान दिया जाना चाहिए कि यह दस्तावेज़ कोड बहुत अच्छी तरह से महत्वपूर्ण है, विशेष रूप से केस ब्लॉक, ताकि अन्य पाठक सीधे यह पता लगा सकें कि किस मूल्य के लिए खड़ा है (जैसे मैंने किया)।
वहाँ चर प्रति दो से अधिक विकल्प हैं, तो आप (, विधि foo में तरह (trueCond ? 1 : 0) * Math.pow(10, level)
का उपयोग करें) 10 के कारकों में काम कर सकते हैं
उपर्युक्त 3 से आप पिछले 3 चेक दोहरा रहे हैं, तो आप उन्हें एक बार जांच सकते हैं और शेष के लिए अगर कथन दर्ज कर सकते हैं। –
तो क्या आप उन चर के सभी संभावनाओं के साथ एक if-elseif-else शाखा चाहते हैं? 'मूल्य> 0 || जेएसबीड <= बेडरूम || जेएसबिल्ट> = निर्मित 'डुप्लिकेट दिखाई देता है। सुनिश्चित नहीं है कि आप 'जेएसबीड> बेडरूम' की जांच करना चाहते हैं? – KarelG
क्या आप शर्तों की कुल संख्या को पूरा करने की कोशिश कर रहे हैं? (दूसरी और तीसरी स्थिति का इलाज किया जाना चाहिए)? या क्या आपके पास इस शर्त के आधार पर अलग-अलग कार्यान्वयन हैं? –