我想做没有按钮的计算器。你能帮我计算函数吗?我有两个数组,第一个数组是数字,第二个是算术运算符。在函数计算中,我必须从第一个数组发送一个元素,从第二个数组发送一个元素,但它不起作用。在最后的节目中必须给出答案作为数字。你能解释一下reduce方法吗,我可以发送第二个数组作为参数吗?因为在文档中我发现它只对元素求和。如果有人用函数编写方法 reduce 的示例,我将不胜感激。这是我的代码。
var str = ("1+1+1+1-1*3");
var reg = /(\d+\.\d+)|\d+/g;
var myArray = str.match(reg);
var reg1 = /['+','-','*',"/"]/g;
var myArray2 = str.match(reg1);
console.log(myArray);
console.log(myArray2);
var i = 0;
function calculate(prev,curr,i){
if(myArray2[i] === "+"){
//
curr = parseInt(prev,10)+parseInt(curr,10);
}
else if(myArray2[i]==='-'){
//
curr = prev-curr;}
else if(myArray2[i] ==='*'){
//
return prev*curr;
}
else{
//
return prev/curr;
}
}
var finAns = myArray.reduce(calculate);
alert ("Answer = " +finAns);