Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで単語を入力するのにかかる時間を計算する


従来のqwertyタイプのキーマッピングの代わりに、英語のアルファベット順、つまりabcde ...

に従ってキーをマッピングするキーワードがあるとします。

問題に飛び込む前に、次の2つの仮定を立てる必要があります-

  • 現在、指先はインデックス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で型キャスト。

    型キャストとは、あるデータ型を別のデータ型に明示的に変換することを意味します。 JavaScriptでは、データ型をString()を使用して文字列に、Boolean()を使用してブール値に、またはNumber()を使用して数値に変換する最も一般的なメソッドのいくつか。 以下はJavaScriptでの型キャストのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="view

  2. JavaScriptでのConstとLet。

    Constとletは、ブロックスコープの変数を宣言するためにES2015で導入されました。 letを使用して宣言された変数は再割り当てできますが、constを使用して宣言された場合は再割り当てできません。 以下は、JavaScriptでletとconstを示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi