Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में समीकरणों की वैधता की जाँच करना

<घंटा/>

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले और एकमात्र तर्क के रूप में एक सरणी, गिरफ्तारी लेता है।

सरणी गिरफ्तारी में निम्नलिखित दो प्रकारों में से एक के स्ट्रिंग समीकरण होते हैं -

  • 'एक्स ===वाई'

  • एक्स!==वाई'

यहाँ, X और Y कोई भी चर हो सकते हैं।

हमारा कार्य यह जांचना है कि सरणी में सभी समीकरणों के लिए, हम कुछ संख्या निर्दिष्ट कर सकते हैं ताकि सरणी में सभी समीकरण सही हों।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr =['X===Y', 'Y!==Z', 'X===Z'];

तब आउटपुट होना चाहिए -

कॉन्स्ट आउटपुट =झूठा;

आउटपुट स्पष्टीकरण:

X, Y और Z के लिए हम चाहे जो भी मान चुनें। तीनों समीकरण कभी भी संतुष्ट नहीं हो सकते।

उदाहरण

इसके लिए कोड होगा -

const arr =['X===Y', 'Y!==Z', 'X===Z'];const validateEquations =(arr =[]) => { const map ={}; कॉन्स्ट लेन ={}; कॉन्स्ट इनवैलिड्स =[]; कास्ट ढूंढें =(आइटम) => {जबकि (मानचित्र [आइटम] &&आइटम! ==नक्शा [आइटम]) {नक्शा [आइटम] =नक्शा [मानचित्र [आइटम]]; आइटम =नक्शा [आइटम]; }; वापसी के लिए वस्तु; }; कॉन्स्ट ऐड =(ए, बी) => {कास्ट फर्स्ट =फाइंड (ए); कास्ट सेकेंड =ढूंढें (बी); अगर (पहला ===दूसरा) {वापसी; }; अगर (लेन [पहला] <लेन [दूसरा]) {नक्शा [पहला] =दूसरा; लेन [दूसरा] + =लेन [पहला]; } और {नक्शा [दूसरा] =पहला; लेन [पहला] + =लेन [दूसरा]; } } arr.forEach((item) => { const X =item[0]; const Y =item[4]; map[X] =map[X] || X; map[Y] =map[Y] || वाई; लेन [एक्स] =लेन [एक्स] || 1; लेन [वाई] =लेन [वाई] || 1; अगर (आइटम [1] ==='!') {inValids.push ([एक्स] , वाई]); } और {जोड़ें (एक्स, वाई); }; }); वापसी inValids.every(([a, b]) => find(a) !==find(b))};console.log(validateEquations(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

<पूर्व>झूठा
  1. जावास्क्रिप्ट कॉन्स्ट

    जावास्क्रिप्ट कॉन्स्ट घोषणाएं वेरिएबल बनाती हैं जिन्हें किसी अन्य मान पर पुन:असाइन नहीं किया जा सकता है या बाद में पुन:घोषित नहीं किया जा सकता है। इसे ES2015 में पेश किया गया था। जावास्क्रिप्ट कॉन्स्टेबल डिक्लेरेशन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html> <head> &l

  1. जावास्क्रिप्ट में कॉन्स्ट बनाम लेट।

    Const and let को ES2015 में ब्लॉक स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि लेट का उपयोग करके घोषित चर को पुन:असाइन किया जा सकता है, यदि उन्हें कॉन्स का उपयोग करके घोषित किया गया है तो उन्हें पुन:असाइन नहीं किया जा सकता है। जावास्क्रिप्ट में लेट और कॉन्स्ट दिखाने वाला कोड निम्नलिखित ह

  1. जावास्क्रिप्ट में सरणियों के समान वर्ग के लिए जाँच कर रहा है

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो क्रमशः पहले और दूसरे तर्क के रूप में संख्याओं के दो सरणियों, arr1 andarr2, को लेता है। हमारा कार्य सही होना चाहिए यदि और केवल तभी जब arr2 में प्रत्येक तत्व arr1 के किसी भी तत्व का वर्ग हो, चाहे उनकी उपस्थिति का क्रम कुछ भी हो। उदाहरण के