Я делаю калькулятор. И задача состоит в том, чтобы не использовать eval()
. Я сделал массив из всех входов который выглядит следующим образом:добавление/деление/умножение чисел и операторов из массива в javascript без eval()
numbers = [1,1,'+',2,'*',3,'-','(',4,'*',5,'+',2,'/',5,')'];
Тогда я преобразовать этот массив в строку, удалить, и я получаю строку, как это:
numberString = "11+2*3-(4*5+2/5)";
Так мой вопрос есть, каков способ правильно рассчитать результат этого уравнения без использования eval()
?
Вы не можете поместить арифметические операторы в такой массив, разве вы не получаете синтаксическую ошибку? Вам нужно сделать строку с кавычками. ' '+' '. – Barmar
Это так, но это как часть текста, чтобы сформулировать мой вопрос, а не код для запуска. Я обновлю вопрос, чтобы он не вводил в заблуждение :) –
См. Http://stackoverflow.com/questions/21202716/using-select-value-as-operator/21202809#21202809 о том, как сопоставить операторные строки с функциями, которые выполнить эту операцию. – Barmar