@andreynn12

Как создавать динамические условия?

Здравствуйте, есть ли возможность создавать условия на js динамически.
Или хотя бы брать логические операторы из переменной:

if (value.one operation 'test') {
	console.log('ok');
}


где в operation может быть: ==, !=, >, >=, <, <=
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Проект "Жизнь после смерти" - lifeafterdeath.ru
const value = { one: 1 };
const operation = '>';

if (eval(`${value.one} ${operation} 0`)) {
  console.log('ok');
}
// Выведет ОК, потому что 1 больше 0
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Нету. Максимум, что вы можете, это написать собственную функцию, которая принимает три параметра, выполняет сравнение и возвращает boolean
Ответ написан
Alexandroppolus
@Alexandroppolus
Обычно делают карту "оператор - функция"

const opsMap = {
  '==': (a, b) => a === b,
  '>': (a, b) => a > b,
  ...
};


И далее
if(opsMap[operation](value.one, 'test')) {...}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы