Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como posso criar uma function que inclua numa operação matemática um dos valores de uma array pré existente?

O que eu quero é uma função que possa pegar um dos valores da var tt1 dependendo do que for incluído no prompt, e incluir numa operação, algo como: num1 + tt1[2] + num2

Na minha ideia o que aconteceria é uma multiplicação: num1 * num2

Porém o que acontece é a concatenação e como resultado ele entrega literalmente: num1*num2

Então como devo proceder para montar essa operação? O que tenho atualmente é funcional, mas ainda não é o que quero, como expliquei agora.

var tt1 = ["+", "-", "*", "/"];
var tt2 = prompt('escolha uma das seguintes opções: "+, -, *, /"');

if(! tt1.includes(tt2)){
     alert("Operador inexistente, tente outro.");
}  

var num1 = prompt("Escolha oprimeiro número");
var num2 = prompt("Escolha o segundo número");

  if (tt2 == tt1[0]){
alert(parseFloat(num1) + parseFloat(num2));
}  
else if (tt2 == tt1[1]){
alert(parseFloat(num1) - parseFloat(num2));
}  
else if (tt2 == tt1[2]){
alert(parseFloat(num1) * parseFloat(num2));
}  
else if (tt2 == tt1[3]){
alert(parseFloat(num1) / parseFloat(num2));
};
2 respostas

Oi Misael, acho que temos um problema de entendimento aqui.. Pois seu código executa as operações... é por isso que vc usa parseFloat e tudo mais. Ele não imprime a string, como vc mencionou.

solução!

O que você deseja fazer só usando Eval, que pega uma expressão como texto avaliando-o. Mas os navegadores dificultam seu uso por ter problemas de segurança. De qualquer modo, de uma olhada em eval.