Сложить 3 строки, одна из них это математический знак(+, -, /, *) через js?
Вот такая задача, не могу решить ее, у меня происходит простая конкатенация строк, а мне нужно чтобы произошло математическое действие, помогите!
function f14(){
let inputFirst = Number(document.querySelector(".i-141").value);
let inputSecond = Number(document.querySelector(".i-142").value);
let select = document.querySelector(".s-143").value;
document.querySelector(".out-14").innerHTML = inputFirst + select + inputSecond;
console.log(typeof inputFirst)
console.log(typeof inputSecond)
console.log(typeof select)
}
document.querySelector('.b-14').onclick = f14;
<div>
<input type="number" class="i-141" value="8"></div>
<div><input type="number" class="i-142" value="7"></div>
<div>
<select class="s-143">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</div>
<button class="button-primary b-14">Task-14</button>
<div class="out-14"></div>"
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Придётся в коде писать switch/case для каждого математического знака калькулятора, где происходит анализ знака и действие вручную в зависимости от него. Вот и весь секрет.
Автор решения: Дмитрий
→ Ссылка
Вышло 2 варианта кому интересно:
1)
switch (select) {
case '+': answer.innerHTML = inputFirst + inputSecond;
break;
case '-': answer.innerHTML = inputFirst + inputSecond;
break;
case '*': answer.innerHTML = inputFirst * inputSecond;
break;
case '/': answer.innerHTML = inputFirst / inputSecond;
break;
}
document.querySelector(".out-14").innerHTML = eval(inputFirst + select + inputSecond);