Входные значения хранятся в массиве, нижний цикл - вычисление конечного результата путем циклического прохождения массива и добавления операторов и чисел к переменной, которая затем оценивается.Пример простого калькулятора с использованием массива для хранения входных значений
privateCalculate = function() {
var total;
for(i = 0; i < init.sequence.length; i++) {
if(init.sequence[i] === "+" || init.sequence[i] === "-" ||
init.sequence[i] === "*" || init.sequence[i] === "/" ||
init.sequence[i] === "(" || init.sequence[i] === ")")
{
total += init.sequence[i];
} else {
init.sequence[i] = parseFloat(init.sequence[i]);
total += init.sequence[i];
}
}
console.log(eval(total));
//console.log((parseFloat(1)+parseFloat(2))/parseFloat(2));
},
Функция производит "NaN"
, пожалуйста, распечатайте содержимое 'init.sequence' – webdeb
[" 5 "," + "," 5 "], если logi c предназначен для преобразования «5» в 5 – Conor
. Отбросьте 'parseFloat', ваши строки будут преобразованы в ints с' eval' в любом случае – JCOC611