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

जावास्क्रिप्ट में विभिन्न तारों के बीच समानताएं

<घंटा/>

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

उदाहरण के लिए:

अगर इनपुट है -

arr1 = ['hello', 'world', 'how', 'are', 'you'];
arr2 = ['hey', 'world', 'can', 'you', 'rotate'];

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

['world', 'you'];

दृष्टिकोण:

यदि सरणियों को क्रमबद्ध किया गया होता, तो हम दो-सूचक दृष्टिकोण का उपयोग कर सकते थे, जिसमें शुरू में दोनों संबंधित सरणी की शुरुआत 0 की ओर इशारा करते थे और हम संबंधित सूचक को बढ़ाने के साथ आगे बढ़ सकते थे और वह O (m + n) जटिल w.r.t होता। वह समय जहाँ m और n सरणी के आकार हैं।

लेकिन चूंकि हमारे पास अक्रमित सरणियाँ हैं, इसलिए सरणियों को छाँटने में कोई तर्क नहीं है और फिर इस दृष्टिकोण का उपयोग करते हुए, हम दूसरे के विरुद्ध पहले के प्रत्येक मान की जाँच करेंगे और एक प्रतिच्छेदन सरणी का निर्माण करेंगे।

इससे हमें O(n^2) समय खर्च होगा।

इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखें -

उदाहरण

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

arr1 = ['hello', 'world', 'how', 'are', 'you'];
arr2 = ['hey', 'world', 'can', 'you', 'rotate'];
const intersectElements = (arr1, arr2) => {
   const res = [];
   const { length: len1 } = arr1;
   const { length: len2 } = arr2;
   const smaller = (len1 < len2 ? arr1 : arr2).slice();
   const bigger = (len1 >= len2 ? arr1 : arr2).slice();
   for(let i = 0; i < smaller.length; i++) {
      if(bigger.indexOf(smaller[i]) !== -1){
         res.push(smaller[i]);
         bigger.splice(bigger.indexOf(smaller[i]), 1, undefined);
      }

   };
   return res;
};
console.log(intersectElements(arr1, arr2));

आउटपुट

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

[ 'world', 'you' ]

  1. जावास्क्रिप्ट और पीएचपी के बीच अंतर

    प्रोग्रामिंग की दुनिया में जावास्क्रिप्ट और पीएचपी दोनों सबसे लोकप्रिय प्रोग्रामिंग भाषाएं हैं। उनकी विभिन्न महत्वपूर्ण विशेषताओं और विशेषताओं के कारण इन दोनों भाषाओं का व्यापक रूप से विश्व स्तर पर उपयोग किया जाता है। उनकी विशेषताओं के आधार पर जावास्क्रिप्ट और PHP में महत्वपूर्ण अंतर निम्नलिखित हैं

  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