День 12 JavaScript 30, курса Веса Боса, включал в себя обнаружение последовательности ввода клавиш по мере ее ввода. Он работает как обнаружение пароля. Вдохновением для этой программы послужил Код Konami, о котором я никогда раньше не слышал. Судя по всему, это секретный код, используемый в играх.

Я нашел программу короткой и простой для понимания без нового синтаксиса. Но это показало, как собрать все воедино в красивой лаконичной манере.

Бос начал с именования переменных.

const pressed =[];
const secretCode = 'wesbos';

При нажатии клавиш они добавляются в массив. Массив анализируется, чтобы увидеть, совпадает ли он с секретным кодом в виде строки.

window.addEventListener('keyup',(e) => {
   pressed.push(e.key);
//count from back of array
   
   pressed.splice( -secretCode.length - 1,pressed.length - secretCode.length);
   if(pressed.join('').includes(secretCode)){
//turn into a string and check if match
      console.log('DING DING!')
   }
});

Интересно, что ввод нужно было анализировать с конца массива в обратном направлении. Мне пришлось несколько минут смотреть на параметры сварки, чтобы понять, как работает расчет.

Содержимое массива нужно было преобразовать в строку с помощью join метода.

Следите за моими учебными заметками по мере того, как я продвигаюсь по JavaScript 30.