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

JavaScript में सबसे लंबा शब्द बनाना


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो पहली आर्ग्युमेंट के रूप में एक यादृच्छिक अंग्रेजी वर्णमाला स्ट्रिंग str और दूसरी आर्ग्युमेंट के रूप में स्ट्रिंग्स की एक सरणी arr लेता है।

हमारे फ़ंक्शन का कार्य स्ट्रिंग str से कुछ अक्षरों को हटाकर यह जांचना है कि कौन सा सबसे लंबा शब्द बनाया जा सकता है जो सरणी arr में भी मौजूद हो। फ़ंक्शन को सबसे लंबी संभव स्ट्रिंग वापस करनी चाहिए।

यदि ऐसा कोई स्ट्रिंग मौजूद नहीं है, तो हमें खाली स्ट्रिंग वापस करनी चाहिए।

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const str = 'sdgfdfghdjh'; const arr = ['sdf', 'fghj', 'gfdfg', 'absc', 'a', 'hasl'];

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

const output = 'gfdfg';

आउटपुट व्याख्या:

हालांकि सरणी का पहला और दूसरा तत्व स्ट्रिंग से अक्षरों को हटाकर बनाया जा सकता है लेकिन 'gfdfg' सबसे लंबा स्ट्रिंग (5) है जिसे हम स्ट्रिंग str से बना सकते हैं।

कोड

const str = 'sdgfdfghdjh'; const arr = ['sdf', 'fghj', 'gfdfg', 'absc', 'a', 'hasl']; const findLongestWord = (str = '', arr = []) => {    arr.sort((a, b) => {       if (a.length !== b.length) {          return b.length - a.length;       };       return a.localeCompare(b);    });    for(const word of arr){       let index = -1;       for(const char of word){          index = str.indexOf(char, index + 1);          if(index < 0){             break;          };       };       if (index >= 0){          return word;       };    };    return ''; }; console.log(findLongestWord(str, arr));

कोड व्याख्या:

हमने जिन चरणों का पालन किया वे हैं:

  • सरणी arr को पहले लंबाई के अनुसार फिर लेक्सिकल ऑर्डर के अनुसार सॉर्ट करें।

  • arr में प्रत्येक शब्द के माध्यम से लूप करें, यदि शब्द का प्रत्येक अक्षर स्ट्रिंग str में नहीं है तो हम बस वापस आ जाते हैं।

  • और यदि प्रत्येक शब्द मेल खाता है, तो हम शब्द वापस करते हैं।

और चूंकि हमने पहले से ही अपने डिक्शनरी को सॉर्ट कर लिया है, हम गारंटी दे सकते हैं कि पहला मैच हमारा उत्तर है।

आउटपुट

कंसोल में आउटपुट होगा:

gfdfg
  1. - JavaScript में वर्तमान समय का उपयोग करके निकटतम समय बनाना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग, time, लेता है जो HH:MM रूप में समय को दर्शाता है। हमारा फ़ंक्शन वर्तमान अंकों का पुन: उपयोग करके अगला निकटतम समय बनाने वाला है। एक अंक को कितनी बार भी पुन: उपयोग किया जा सकता है, इसकी कोई सीमा नहीं है। उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है

  1. - JavaScript में सबसे लंबी लगातार जोड़ श्रृंखला ढूंढना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं के जोड़े की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है। प्रत्येक जोड़े में, पहली संख्या हमेशा दूसरी संख्या से छोटी होती है।अब, हम एक जोड़ी (c, d) को परिभाषित करते हैं जो दूसरी जोड़ी (a, b) का अनुसरण कर सकती है यदि और केवल यदि b < c। इस त

  1. - JavaScript में सबसे लंबे बढ़ते उपअनुक्रमों की कुल संख्या

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को एकमात्र आर्गुमेंट के रूप में लेता है।हमारा फ़ंक्शन सबसे लंबे बढ़ते उपअनुक्रमों (सन्निकट या असन्निकट) की संख्या ढूंढना आवश्यक है।उदाहरण के लिए, यदि इनपुट है:इनपुटconst arr = [2, 4, 6, 5, 8];आउटपुटconst output = 2;आउटपुट व्याख्याद