假设我们有一个关键字,它不是传统的 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));
And the output in the console will be −
7
以上是计算在 JavaScript 中输入单词所需的时间的详细内容。更多信息请关注PHP中文网其他相关文章!