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

जावास्क्रिप्ट में सॉफ्टवेयर लाइसेंस कुंजी को प्रारूपित करना

<घंटा/>

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में एक स्ट्रिंग str लेता है और दूसरे तर्क के रूप में एक इंटीजर, n। स्ट्रिंग स्ट्र अल्फ़ान्यूमेरिक वर्णों और डैश से बना है।

डैश स्ट्रिंग के भीतर अल्फ़ान्यूमेरिक वर्णों को समूहों में विभाजित करता है। (अर्थात यदि n डैश हैं, तो स्ट्रिंग को n+1 समूहों में विभाजित किया जाता है)। दिए गए स्ट्रिंग में डैश संभवतः गलत हैं।

हम चाहते हैं कि वर्णों का प्रत्येक समूह K लंबाई का हो (संभवतः पहले समूह को छोड़कर, जो छोटा हो सकता है, लेकिन फिर भी उसमें कम से कम एक वर्ण होना चाहिए)।

इस आवश्यकता को पूरा करने के लिए, हम फिर से डैश डालेंगे। इसके अलावा, हमारे फ़ंक्शन को स्ट्रिंग के सभी लोअरकेस अक्षरों को अपरकेस में बदलने की आवश्यकता है।

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

const str = '8-4B0t37-k';
const num = 4;

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

const output = '84B0-T37K';

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

स्ट्रिंग str को दो भागों में विभाजित किया गया है, प्रत्येक भाग में 4 वर्ण हैं।

उदाहरण

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

const str = '8-4B0t37-k';
const num = 4;
const formatKey = (str = '', num = 1) => {
   let acc = '';
   let flag = num;
   for(let i = str.length - 1; i >= 0; i--){
      const char = str.charAt(i);
      if(char !== '-') {
         if(flag === 0) {
            acc = `-${acc}`;
            flag = num;
         };
         acc = `${char.toUpperCase()}${acc}`;
         flag -= 1;
      };
   };
   return acc;
};
console.log(formatKey(str, num));

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

हमने अपने फंक्शन फॉर्मेटकी () में जो कदम उठाए हैं, वे हैं -

  • हमने रिवर्स में पुनरावृति की, ताकि हम शेष वर्णों के मामले में समायोजित कर सकें

  • हमने सम्मिलित वर्णों की गिनती रखी। और जब यह 0 था, हमने डैश डाला और num पर रीसेट कर दिया।

आउटपुट

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

84B0-T37K

  1. जावास्क्रिप्ट में मुख्य-घटनाओं की व्याख्या करें?

    की-इवेंट तब होते हैं जब कोई उपयोगकर्ता कीबोर्ड से इंटरैक्ट करता है। मुख्य रूप से तीन प्रमुख ईवेंट प्रकार हैं - कीडाउन, कीप्रेस और कीअप। इवेंट विवरण ऑनकीडाउन यह घटना तब सक्रिय होती है जब उपयोगकर्ता एक कुंजी दबा रहा होता है ऑनकीप्रेस उपयोगकर्ता द्वारा कुंजी दबाने पर यह घटना सक्रिय हो जाती है ऑनक

  1. जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करना

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

  1. जावास्क्रिप्ट में कुंजी प्रेस घटना दर्ज करें?

    ENTER की प्रेस इवेंट के लिए, आप − . पर एक फंक्शन कॉल कर सकते हैं onkeypress=”yourFunctionName” ENTER के कीकोड 13 का प्रयोग करें। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content=&