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

जावास्क्रिप्ट का उपयोग करके एक अस्पष्ट शब्द को मान्य करना

<घंटा/>

समस्या

एक Boggle बोर्ड अलग-अलग वर्णों की एक 2D सरणी है, उदा। -

कॉन्स बोर्ड =[ ["आई", "एल", "ए", "डब्ल्यू"], ["बी", "एन", "जी", "ई"], ["आई", "यू" ","ए", "ओ"], ["ए", "एस", "आर", "एल"]];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो बोगल बोर्ड और एक स्ट्रिंग लेता है और जांचता है कि वह स्ट्रिंग बोगल बोर्ड में मान्य अनुमान है या नहीं। मान्य अनुमान स्ट्रिंग हैं जो आसन्न कोशिकाओं (क्षैतिज, लंबवत, या तिरछे) पहले इस्तेमाल किए गए किसी भी सेल का पुन:उपयोग किए बिना।

उदाहरण के लिए, उपरोक्त बोर्ड में "LINGO", और "ILNBIA" सभी मान्य अनुमान होंगे, जबकि "BUNGIE" और "SINUS" नहीं होंगे।

उदाहरण

निम्नलिखित कोड है -

कॉन्स बोर्ड =[ ["आई", "एल", "ए", "डब्ल्यू"], ["बी", "एन", "जी", "ई"], ["आई", "यू" ","ए", "ओ"], ["ए", "एस", "आर", "एल"]]; अनुमान अनुमान ='बिंगो'; स्थिरांक चेकवर्ड =(बोर्ड =[], अनुमान ='' ) => { const numRows =बोर्ड लंबाई; const numCols =बोर्ड [0]। लंबाई; कतार =बोर्ड को कम करें ((एसीसी, पंक्ति, i) => {पंक्ति। प्रत्येक के लिए ((x, जे) => {अगर (x ===अनुमान [0]) { acc.push ( { pos:{r :i, c:j} , nextIndex:1, पथ:[numCols*i + j ] } ); } }); वापसी acc; }, []); चलो एक्सप्लोरवर्ड =(obj, क्यू) => { सभी मूव्स =[ {r:obj.pos.r - 1, c:obj.pos.c}, {r:obj.pos.r + 1, c:obj. pos.c }, {r:obj.pos.r, c:obj.pos.c - 1}, {r:obj.pos.r, c:obj.pos.c + 1}, {r:obj. pos.r - 1, c:obj.pos.c - 1}, {r:obj.pos.r - 1, c:obj.pos.c + 1}, {r:obj.pos.r + 1, c:obj.pos.c - 1}, {r:obj.pos.r + 1, c:obj.pos.c + 1}]; allMoves.forEach((o) => {सूचकांक =numCols * या + oc; if (या>=0 &&या =0 &&oc  0) { चलो obj =कतार। शिफ्ट (); अगर (obj.nextIndex ===अनुमान। लंबाई) {वापसी सच; } एक्सप्लोरवर्ड (ओबीजे, कतार); } झूठी वापसी;};console.log(checkWord(board, अनुमान));

कोड स्पष्टीकरण

हमने जो कदम उठाए वे हैं -

  • हम पहले अक्षर की घटना का पता लगाने के लिए 2d सरणी को स्कैन करते हैं

  • फिर हम {स्थिति, अनुक्रमणिका} को कतार में धकेलते हैं, जबकि कतार खाली नहीं होती है, हम पहली वस्तु को बाहर निकालते हैं

  • फिर हम सभी दिशाओं की तलाश करते हैं। यदि सेल में अक्षर वर्ड में अक्षर से मेल खाता है और सेल का पुन:उपयोग नहीं किया जाता है, तो हम {स्थिति, अनुक्रमणिका} को अपडेट करते हैं और कतार में संलग्न करते हैं अन्यथा, हम ऑब्जेक्ट को त्याग देते हैं और जब कोई मैच मिलता है या कोई मेल नहीं होता है तो हम रुक जाते हैं।

आउटपुट

<पूर्व>सत्य
  1. जावास्क्रिप्ट आयात में '{ }' का उपयोग करना?

    जावास्क्रिप्ट आयात में {} का उपयोग करने वाला कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .result {फ़ॉन्ट-आकार:18पीएक्स; फ़ॉन्ट-वजन:500; रंग:रेबेकापर्पल; }जावास्क्रिप्ट आयात में { } का उपयोग करनायहां क्लिक करेंआयातित फ़ंक्शन को निष्पाद

  1. जावास्क्रिप्ट वस्तुओं की सरणी पर सरणी के तरीकों का उपयोग करना?

    जावास्क्रिप्ट ऑब्जेक्ट्स की सरणी पर सरणी के तरीकों का उपयोग करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"

  1. जावास्क्रिप्ट में गोपनीयता प्राप्त करने के लिए क्लोजर का उपयोग करना

    जावास्क्रिप्ट में गोपनीयता प्राप्त करने के लिए क्लोजर को लागू करने के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .result {फ़ॉन्ट-आकार:18पीएक्स; फ़ॉन्ट-वजन:500; रंग:नीला बैंगनी; }गोपनीयता हासिल करने के लिए क्लोजर का उपयोग करनाIncr