Andaikan kami mempunyai kata kunci, yang bukan pemetaan kekunci jenis qwerty tradisional, tetapi hanya memetakan kekunci mengikut susunan abjad Inggeris, iaitu abcde...
Sebelum kita menyelidiki masalah tersebut, kami telah membuat Dua yang berikut andaian -
Pada masa ini hujung jari kita berada pada indeks 0 iaitu kekunci 'a'
Masa yang diperlukan untuk bergerak dari satu kekunci ke yang lain ialah perbezaan mutlak indeks mereka cth sampai ke "k" akan menjadi |0 - 10| = 10
Kita perlu menulis fungsi JavaScript yang menerima rentetan huruf kecil Inggeris dan mengira serta mengembalikan masa yang diperlukan untuk memasukkan rentetan.
Sebagai contoh -
Jika rentetan input adalah -
const str = 'dab';
const output = 7;
kerana pergerakan yang berlaku adalah -
'a' -> 'd' = 3 'd' -> 'a' = 3 'a' -> 'b' = 1
kodnya adalah -
live demo
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
Atas ialah kandungan terperinci Kira berapa lama masa yang diperlukan untuk menaip perkataan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!