Maison > interface Web > js tutoriel > le corps du texte

Calculez le temps qu'il faut pour taper un mot en JavaScript

WBOY
Libérer: 2023-08-24 14:57:02
avant
1096 Les gens l'ont consulté

计算在 JavaScript 中输入单词所需的时间

Supposons que nous ayons un mot-clé, qui n'est pas un mappage de touches de type qwerty traditionnel, mais mappe simplement les touches selon l'ordre alphabétique anglais, c'est-à-dire abcde...

Avant d'approfondir le problème, nous avons fait les deux suivants hypothèses -

  • Actuellement, notre doigt est à l'index 0, c'est-à-dire la touche 'a'

  • Le temps qu'il faut pour passer d'une touche à une autre est la différence absolue de leurs index, par exemple. arriver à "k" sera |0 - 10| = 10

Nous devons écrire une fonction JavaScript qui accepte une chaîne de lettres minuscules anglaises et calcule et renvoie le temps nécessaire pour saisir la chaîne.

Par exemple -

Si la chaîne d'entrée est -

const str = 'dab';
Copier après la connexion

la sortie

const output = 7;
Copier après la connexion

car le mouvement qui se produit est -

'a' -> 'd' = 3
'd' -> 'a' = 3
'a' -> 'b' = 1
Copier après la connexion

Exemple

Son code est -

Démo en direct

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));
Copier après la connexion

output

Et le la sortie dans la console sera −

7
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!