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

JavaScript में शब्द टाइप करने में लगने वाला समय गणना करना

मान लीजिए हमारे पास एक कीबोर्ड है, जो पारंपरिक qwerty प्रकार के कुंजी मैपिंग के बजाय, कुंजियों को केवल अंग्रेजी वर्णमाला क्रम के अनुसार मैप करता है यानी abcde...

समस्या में गोता लगाने से पहले, हमें निम्नलिखित दो धारणाएं बनानी होंगी:

  • वर्तमान में हमारी उंगलियों की नोक सूचकांक 0 पर रखी है, यानी कुंजी 'a'
  • एक कुंजी से किसी अन्य कुंजी पर जाने में लगने वाला समय उनके सूचकांक का निरपेक्ष अंतर है, उदाहरण के लिए 'a' से 'k' पर जाने में लगने वाला समय |0 - 10| = 10 होगा

हमें एक JavaScript फ़ंक्शन लिखना है जो अंग्रेजी लोअरकेस वर्णमाला की एक स्ट्रिंग लेता है और उस स्ट्रिंग को टाइप करने के लिए आवश्यक समय की गणना करके लौटाता है।

उदाहरण

यदि इनपुट स्ट्रिंग है:

const str = 'dab';

आउटपुट

const output = 7;

क्योंकि जो मूवमेंट हुए हैं:

'a' -> 'd' = 3 'd' -> 'a' = 3 'a' -> 'b' = 1

उदाहरण

const str = 'dab';
const findTimeTaken = (str = '') => {
  let timeSpent = 0;
  const keyboard = 'abcdefghijklmnopqrstuvwxyz';
  let curr = 'a';
  for(let i = 0; i < str.length; i++){
    const el = str[i];
    const fromIndex = keyboard.indexOf(curr);
    const toIndex = keyboard.indexOf(el);
    const time = Math.abs(fromIndex - toIndex);
    curr = el;
    timeSpent += time;
  };
  return timeSpent;
};
console.log(findTimeTaken(str));

आउटपुट

7
  1. JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स

    const ES2015 (ES6) में पेश किया गया एक ब्लॉक-स्कोप्ड वेरिएबल डिक्लेरेशन है जो रीअसाइनमेंट को रोकता है। यह आधुनिक JavaScript में डिफ़ॉल्ट विकल्प होना चाहिए जब रीअसाइनमेंट की आवश्यकता न हो। उदाहरण { try { a = 44; // TypeError: Assignment to constant variable } catch (e

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

    परिचय टाइप कास्टिंग का अर्थ है एक डेटा टाइप से दूसरे में स्पष्ट रूप से रूपांतरण। जावास्क्रिप्ट में सबसे आम मेथड्स हैं: स्ट्रिंग में बदलने के लिए String(), बूलियन में Boolean(), और नंबर में Number()। उदाहरण निम्न कोड जावास्क्रिप्ट में टाइप कास्टिंग के लिए है: <!DOCTYPE html> <html lang=&q

  1. JavaScript में Const vs Let JavaScript में Const vs Let

    Const और let को ES2015 में ब्लॉक-स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि let का उपयोग करके घोषित वेरिएबल को पुनः असाइन किया जा सकता है, const का उपयोग करके घोषित वेरिएबल को पुनः असाइन नहीं किया जा सकता। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me