I'm trying to mock eval like function. Let's say I have an input like this:
arr = [
"1" ,
"+" ,
"(" ,
"33" ,
"+" ,
"44" ,
")" ,
"+" ,
"2" ,
"+" ,
"(" ,
"55" ,
"+" ,
"66" ,
")" ,
"="
]
Now I want to calculate it like 1+(33+44)+2+(55+66)=
without using eval
I have tried something like below with no result:
let result = 0;
for (let i = 0; i < arr.length; i++) {
var expr = arr[i];
if (expr == '+' || expr == "-" || expr == "*" || expr == "(" || expr == ")") {
if (expr == "(") {
for (let j = i; j < arr.length; j++) {
if(expr == "+"){
}else if(expr == "-"){
}else if(expr == "*"){
}else if (expr == ")") {
i = j+1;
break;
}else{
result = result + parseFloat(expr);
}
}
}
} else {
result = result + parseFloat(expr);
}
console.log(result)
I removed some code which I tried as it is giving me too many errors. Can any one help me on this. Kindly comments for further details is needed. Thanks in advance.