Arti-Jack
@Arti-Jack

Как изменить функцию, чтобы ввод данных был не с консоли, а с помощью аргумента ф-ции?

Имею ф-цию:
function MathSolver() {

    this.solvePostfix = function(postfix) {
        var resultStack = [];
        postfix = postfix.split(" ");
        for(var i = 0; i < postfix.length; i++) {
            if(postfix[i].isNumeric()) {
                resultStack.push(postfix[i]);
            } else {
                var a = resultStack.pop();
                var b = resultStack.pop();
                if(postfix[i] === "+") {
                    resultStack.push(parseInt(a) + parseInt(b));
                } else if(postfix[i] === "-") {
                    resultStack.push(parseInt(b) - parseInt(a));
                } else if(postfix[i] === "*") {
                    resultStack.push(parseInt(a) * parseInt(b));
                } else if(postfix[i] === "/") {
                    resultStack.push(parseInt(b) / parseInt(a));
                } else if(postfix[i] === "^") {
                    resultStack.push(Math.pow(parseInt(b), parseInt(a)));
                }
            }
        }
        if(resultStack.length > 1) {
            return "error";
        } else {
            return resultStack.pop();
        }
    }

}


Это функция обратной польской записи. Я не понимаю как сделать так, чтобы ввод данных был с помощью параметров, а не с помощью клавиатуры.

Т.е так: MathSolver("12 - 2 * 5"); // 10
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
abyrkov
@abyrkov
JavaScripter
Вы вообще код смотрите?
MathSolver - класс.(new MathSolver()).solvePostfix('12 - 2 * 5')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы