Проблема в том, что оператор OR не предназначался для такого использования. Он возвращает свой первый операнд, если он правдив, в противном случае он возвращает свой второй операнд.
Итак, 'one' || 'two' || 'three'
оценивается как 'one'
, так как он правдивый; поэтому в includes
для проверки передается только 'one'
:
console.log('one' || 'two' || 'three')
Вместо этого вы можете использовать метод массива Array#some
для достижения желаемого:
//my array
const array = ['two'];
//list of values to check for
const options = ['one', 'two', 'three'];
console.log(array.some(elem => options.includes(elem))) //true