Оптимизация / замена нескольких условий - PullRequest
0 голосов
/ 26 января 2019

Я хочу вызвать ту же функцию, когда пользователь нажимает любую из клавиш со стрелками.Я могу добиться этого с помощью одного и того же:

if (x.style.display = "block" && 
     (event.keyCode === 37 || 
      event.keyCode === 38 || 
      event.keyCode === 39 || 
      event.keyCode === 40)
   ) 
   { ...}

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

Ответы [ 2 ]

0 голосов
/ 26 января 2019

U также может использовать Array.indexOf ()

document.addEventListener('keydown', e  =>  {
  if (![37,38,39,40].indexOf(e.keyCode) > -1) 
    return  console.log('arrow key pressed')
})
0 голосов
/ 26 января 2019

Использование Array.includes:

document.addEventListener('keydown', e => {
  if (![37,38,39,40].includes(e.keyCode)) return
  
  console.log('arrow key pressed')
})

Или вы можете проверить диапазон.

...