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

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


समस्या

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

डैश स्ट्रिंग के भीतर अल्फ़ान्यूमेरिक अक्षरों को समूहों में विभाजित करते हैं। (यानी यदि 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));

कोड व्याख्या

हमारे formatKey() फ़ंक्शन में उठाए गए चरण हैं:

  • हमने रिवर्स में पुनरावृति की, ताकि हम शेष अक्षरों < num के मामले को समायोजित कर सकें (चूंकि पहले भाग में ठीक num अक्षर होने की बाध्यता नहीं है)।

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

आउटपुट

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

84B0-T37K
  1. जावास्क्रिप्ट में की-इवेंट्स समझाया गया जावास्क्रिप्ट में की-इवेंट्स समझाया गया

    की-इवेंट्स तब होते हैं जब कोई यूजर कीबोर्ड के साथ इंटरैक्ट करता है। मुख्य रूप से तीन की इवेंट टाइप होते हैं: keydown, keypress और keyup। इवेंटविवरण Onkeydownयह इवेंट तब फायर होता है जब यूजर एक की दबा रहा होता है। Onkeypressयह इवेंट तब फायर होता है जब यूजर की को दबाता है। Onkeyupयह इवेंट तब फायर

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

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

  1. JavaScript में एंटर की प्रेस इवेंट कैसे हैंडल करें? JavaScript में एंटर की प्रेस इवेंट कैसे हैंडल करें?

    उदाहरण onkeypress इवेंट और keyCode 13 से एंटर की डिटेक्ट करें। <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <meta name=viewport content=width=device-width, initial-scale=1.0> <title>Document</title> </head> <body> <input