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

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


समस्या

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

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

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

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

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

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

क्योंकि दोनों स्ट्रिंग्स 'battab' और 'tabbat' पैलिंड्रोम हैं।

उदाहरण

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

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() का उपयोग किया है यह जांचने के लिए कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं और हमारा मुख्य फ़ंक्शन सभी संभावित जोड़े उत्पन्न करने के लिए सभी संयोजनों का उपयोग करता है और जो हमारी शर्तों से मेल खाते हैं, उनका इंडेक्स res सरणी में डाला जाता है।

आउटपुट

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

[ [ 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" /> <title&g