hashmap
😡
запихни в один массив все кнопки которые нужно пушить, и проверяй, если есть кей в массиве то expresson.push(event.key)
Лол, а что за операции там
Ввод символов в поле калькулятора через клавиатуру
const transforms = { '7': 7, /* ... */ '+': '+' } expression.push(transforms[event.key]);
if( ['7','6','5','4','3','2','1','0','+','-'].includes(event.key) expression.push(event.key) )
undefined не запушит если что то другое клацнуть?
но это не исправит того, что у вас, судя по всему, раньше где-то в логике ошибка, что такие полотна приходится юзать
канеш запушит
И почему не регуляркой решить это?
const number = Number(event.key); const allowedSymbols = ["+", "-"]; if(!isNaN(number)) { expression.push(number); } if(allowedSymbols.some(symbol => symbol === event.key.......
у него + и - там есть :)
if(allowedSymbols.some(symbol => symbol === event.key....... а чё не includes?
а, ну да, можно и его
function eventCaller(event, event_key) { let keys = ['7','6','5','4','3','2','1','0','+','-'] if (!keys.contains(event_key)) { // В случае если клавиша не проходит метчинг ничего не делаем return; } exepression.push(event_key); displayInput() } document.addEventListener("keydown", (event) => { eventCaller(event, event.key) }); Могу ошибаться )
А строку в число?
Превращаем в число если это не число, ищем в разрешенных символах, если и там нет, то все
У массива нет contains
Ты еще и цифру 8, 9 забыл)) Поэтому не стоит перечислять вручную все
event.key не в виде строки возвращает?
ему число же нужно
Да точняк, но я бы по другому сделал вообще Использовать что то типа: var keyCodeAliases = { 0: "null", null: "null", undefined: "null", 32: "Space", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 96: "Num 0", 97: "Num 1", 98: "Num 2", 99: "Num 3", 100: "Num 4", 101: "Num 5", 102: "Num 6", 103: "Num 7", 104: "Num 8", 105: "Num 9", 106: "Num *", 107: "Num +", 109: "Num -", 110: "Num .", 111: "Num /", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 186: ";", 188: "<", 189: "-", 187: "+", 190: ">", 191: "/", 192: "~", 219: "[", 220: "\\", 221: "]", 222: "'" };
Да что же вы вытворяете сегодня с утра
У него только + и -, но если операций много, то я предложил ему хешмапу разрешенных символов
а для чего эфы?
У меня обед уже давно)
Только дурак нуждается в порядке — гений господствует над хаосом
У меня расширение где горячие клавиши назначаются исходник есть вот я оттуда надергал "решений" )
Обсуждают сегодня