@andreynn12

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

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

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


где в operation может быть: ==, !=, >, >=, <, <=
  • Вопрос задан
  • 180 просмотров
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
const value = { one: 1 };
const operation = '>';

if (eval(`${value.one} ${operation} 0`)) {
  console.log('ok');
}
// Выведет ОК, потому что 1 больше 0
Ответ написан
Alexandroppolus
@Alexandroppolus
кодир
Обычно делают карту "оператор - функция"

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


И далее
if(opsMap[operation](value.one, 'test')) {...}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Нету. Максимум, что вы можете, это написать собственную функцию, которая принимает три параметра, выполняет сравнение и возвращает boolean
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
summer Ярославль
от 100 000 до 140 000 ₽