Сделать короче проверку переменной с условием ИЛИ
Можно ли сделать как то короче такую запись, где одна и та же переменная через оператор ИЛИ || проверяется на значение?
Вот пример кода:
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, время: 21:47. |