Maison  >  Article  >  interface Web  >  Calculez le temps qu'il faut pour taper un mot en JavaScript

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

WBOY
WBOYavant
2023-08-24 14:57:021118parcourir

计算在 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';

la sortie

const output = 7;

car le mouvement qui se produit est -

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

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));

output

Et le la sortie dans la console sera −

7

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer