Сделать короче проверку переменной с условием ИЛИ
Можно ли сделать как то короче такую запись, где одна и та же переменная через оператор ИЛИ || проверяется на значение?
Вот пример кода: let test = this.dataset.test; if (test == 'a' || test == 'b' || test == 'c' || test == 'd' || test == 'e' || test == 'f') { // ..... } Или короче нельзя записать? А то у меня очень длинная портянка получается. |
HEX значение a равно 61, а f равно 66. Если взять значение младшего разряда и проверить диапазон от 1 до 6, значит условие выполнимо.
Второй способ сократить запись (не означает, что это лучше будет), это переменная test есть массив, в котором проверяется диапазон. |
const arr = ['a', 'b', 'c', 'd', 'e', 'f']; let test = this.dataset.test; if (arr.includes(test)) { // ..... } |
destus,
ой да, наоборот написал, диапазон есть массив. ) |
var charCode = this.dataset.test.charCodeAt(0); if(charCode>96 && charCode < 103){ } |
Цитата:
Цитата:
Я готов использовать изначальный вариант если это лучше. Просто я впервые столкнулся с методом includes и не знаю всей поднаготной. Но решение мне понравилось. Решение с интервалом символов мне в данном случае не подходит, я просто для примера обозначил строковые значения. На самом деле у меня там много символов, а не по одной букве. |
Цитата:
Цитата:
|
laimas, я понял. Спасибо за объяснение.
Портянка сейчас на 12 значений, но со временем будет добавляться. Возможно до 20 значений вырастит. Значения в таком стиле: ['rectNo2Deg', 'rectNo2Deg2', ..............] Выделение значений в отдельный массив - это чисто для удобства (чтоб не путаться) и читаемости кода. Как посоветуете, оставить ИЛИ или можно в данном случае массив с с методом includes ? |
Цитата:
|
Цитата:
if(arr.indexOf(test) !== -1) { } |
Часовой пояс GMT +3, время: 08:15. |