JSFiddle - React, Tailwind, and code Playground
HTML
Input : <input type="text" id="input" value="a" />
<input id="calc" type="button" value="Submit" />
<br/>
Answer : <span id="result"></span>
JavaScript
document.getElementById("calc").onclick = evaluate;
function evaluate() {
var postStr = document.getElementById("input").value; //initial postfix expression
var postArr = new Array();
postArr = postStr.split(""); //string.split() turns string into array!
var stack = [];
var result;
var firstNum;
var secNum;
//var k;
for (var i = 0; i < postArr.length; i++) {
if ((postArr[i] != "^") && (postArr[i] != "+") && (postArr[i] != "-") && (postArr[i] != "*") && (postArr[i] != "/")) {
stack.push(+postArr[i]);
}
else if ((postArr[i] == "^") || (postArr[i] == "+") || (postArr[i] == "-") || (postArr[i] == "*") || (postArr[i] == "/")) {
if (postArr[i] == '+') {
firstNum = stack.pop();
secNum = stack.pop();
result = secNum + firstNum;
stack.push(result);
}
else if (postArr[i] == '*') {
firstNum = stack.pop();
secNum = stack.pop();
result = secNum * firstNum;
stack.push(result);
}
else if (postArr[i] == '/') {
firstNum = stack.pop();
secNum = stack.pop();
result = secNum / firstNum;
stack.push(result);
}
else if (postArr[i] == '-') {
firstNum = stack.pop();
secNum = stack.pop();
result = secNum - firstNum;
stack.push(result);
}
}
}
var finalRes = stack.pop();
document.getElementById("result").innerHTML = finalRes;
}