用 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP