Estou tentando criar uma calculadora sem a função eval em javascript, porém estou tendo a dificuldade com a seguinte situação: Eu quero que toda a minha expressão seja apresentada na tela:
1+1+1+1+1....
Porém estou enfrentando o problema onde é calculado apenas os dois primeiros números são calculados e o restante da expressão é ignorada. Por exemplo, se o usuário digita 1+1+1 o meu resultado esta sendo 2.
Abaixo um exemplo de como esta o meu código, no caso estou apresentando apenas a soma:
function calcular() {
var conta = document.getElementById('resultado').value;
var expressao = new String(conta);
for (var i = 0; i < expressao.length; i++) {
if (expressao.charAt(i) == "+") {
var num = new String(expressao.split('+'))
console.log("entrei", num);
n1 = num.substring(0, num.indexOf(','));
n2 = num.substring(num.indexOf(',') +1, num.length)
console.log("n1", n1);
console.log("n2", n2);
var resultadoFinal = parseFloat(n1) + parseFloat(n2);
console.log(resultadoFinal);
document.getElementById('resultado').value = resultadoFinal;
}
}
}
Alguém poderia me dar uma luz de como faço para que seja calculada toda a minha expressão?