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

जावास्क्रिप्ट में पैलिंड्रोम जोड़े बनाने के लिए स्ट्रिंग्स को जोड़ना

<घंटा/>

समस्या

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

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

const arr = ['tab', 'cat', 'bat'];

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

const output = [[0, 2], [2, 0]];

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

क्योंकि दोनों तार 'बट्टब' और 'तब्बत' पैलिंड्रोम हैं।

उदाहरण

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

const arr = ['tab', 'cat', 'bat'];
const isPalindrome = (str = '') => {
   let i = 0;
   let j = str.length - 1;
   while (i < j) {
      if (str[i] != str[j]) return false;
      i++;
      j--;
   };
   return true;
};
const palindromePairs = (arr = []) => {
   const res = [];
   for (let i = 0; i < arr.length; i++) {
      for (let j = i + 1; j < arr.length; j++) {
         if (isPalindrome(arr[i] + arr[j])) {
            res.push([i, j])
         }
         if (isPalindrome(arr[j] + arr[i])) {
            res.push([j, i])
         };
      };
   };
   return res;
};
console.log(palindromePairs(arr));

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

हमने यहां एक सहायक फ़ंक्शन isPalindome() का उपयोग यह जांचने के लिए किया है कि एक स्ट्रिंग पैलिंड्रोम है या नहीं और हमारा मुख्य फ़ंक्शन सभी संयोजनों का उपयोग सभी संभावित जोड़े उत्पन्न करने के लिए करता है और जो हमारी शर्तों से मेल खाते हैं, उनकी अनुक्रमणिका को रेस सरणी में धकेल दिया जाता है।

आउटपुट

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

[ [ 0, 2 ], [ 2, 0 ] ]

  1. जावास्क्रिप्ट में दो हैश टेबल में शामिल होना

    कभी-कभी हमें जॉइन फंक्शन का उपयोग करके कंटेनरों को एक साथ संयोजित करने और एक नया कंटेनर प्राप्त करने की आवश्यकता होती है। हम एक स्टैटिक जॉइन मेथड लिखेंगे जो 2 हैशटेबल्स लेता है और सभी वैल्यूज के साथ एक नया हैशटेबल बनाता है। सादगी के लिए, यदि दोनों में कोई कुंजियाँ मौजूद हैं, तो हम दूसरे वाले के मानो

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

    टेम्पलेट को ES6 में एक स्ट्रिंग के अंदर एम्बेड अभिव्यक्ति की अनुमति देने के लिए पेश किया गया था। वे या उद्धरण चिह्नों के स्थान पर बैकटिक (``) का प्रयोग करते हैं। वे स्ट्रिंग इंटरपोलेशन का एक बेहतर तरीका प्रदान करते हैं और अभिव्यक्तियों को ${a+b} जैसे तरीके से एम्बेड किया जा सकता है। यह + ऑपरेटर की

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

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