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

假设我们有一个关键字,它不是传统的 qwerty 类型键映射,而是简单地根据英文字母顺序映射键,即 abcde...
在我们深入研究问题之前,我们有做出以下两个假设 -
当前我们的指尖位于索引 0,即键 'a
从一个键移动到另一个键所需的时间是它们索引的绝对差,例如从“a”移动到“k”所需的时间将为 |0 - 10| = 10
我们需要编写一个 JavaScript 函数,该函数接受一串英文小写字母,并计算并返回输入该字符串所需的时间。< /p>
例如 -
如果输入字符串是 -
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));输出
And the output in the console will be −
7
javascript