如何创建一个接受多个参数的函数来在JavaScript中执行算术计算?
我想写一个函数,对提供的所有参数执行算术运算。例如,如果我这样做:如何创建一个接受多个参数的函数来在JavaScript中执行算术计算?,javascript,function,math,Javascript,Function,Math,我想写一个函数,对提供的所有参数执行算术运算。例如,如果我这样做: 计算('+',3,5,6) 它应该返回14(即3+5+6) 或者如果我这样做了 计算('*',6,3,6,8,) 它应该返回864(相当于将所有这些数字相乘) 该函数基本上应该能够处理我提供给它的任何数量的数字,同时也能够处理主要的算术运算符,如+-/* 我是编程新手。我试过: function mCalc(_operator){ if(_operator=='+'){ return arguments + argu
计算('+',3,5,6)
它应该返回14(即3+5+6)
或者如果我这样做了
计算('*',6,3,6,8,)
它应该返回864(相当于将所有这些数字相乘)
该函数基本上应该能够处理我提供给它的任何数量的数字,同时也能够处理主要的算术运算符,如+-/*
我是编程新手。我试过:
function mCalc(_operator){
if(_operator=='+'){
return arguments + arguments;
}
}
console.log(mCalc('+',5,5));
这不起作用,所以我甚至无法前进。在每个函数中,您都可以看到Rest、default和destructured parameters一节,它指出: arguments对象可以与rest、default和destructured参数结合使用
函数foo(…args){return args;}
一旦你有了计算所需的所有参数,就可以使用了。文件规定:
reduce()方法对数组的每个元素执行一个reducer函数(您提供的),从而产生一个输出值
我想您可以使用以下选项:
const mCalc=(_运算符,…args)=>{
if(_运算符==='+')){
返回参数reduce((a,c)=>a+c,0);
}
//rest是您想要实现的
}
常量结果=mCalc(+',3,5,6,2);
控制台日志(结果)代码>您可以使用一个对象作为运算符,并通过使用一个返回两个操作数的函数来减少值
通过调用函数,运算符被接受,值通过使用被接受到数组中
这种方法使用
const
运算符={
“+”:(a,b)=>a+b,
“*”:(a,b)=>a*b
},
take=op=>运算符[op],
计算=(op,…值)=>值。减少(取(op));
log(计算('+',3,5,6));//14
log(计算('*',6,3,6,8))哇,这比我想象的要快。非常感谢。我越来越明白了。你在哪里声明calculate为函数?是的,这段代码很有意义。作品完美..我的理解打开了。聪明人!祝你幸福,谢谢你。这真的帮助我了解更多。我只需要声明一个可以接受随机参数进行计算的函数。函数mCalc(_运算符,…args){if(_运算符=='+'){return args.reduce((a,c)=>a+c);}else if(_运算符='-'){return args.reduce((a,c)=>a-c)}else if(_运算符='*'){return args.reduce=>a*c);}else if(_运算符='/'){return args.reduce((a,c)=>a/c);}}}console.log(mCalc('/',20,5));擦亮后我得到了。它工作得很好。很抱歉它的呈现方式。我是斯塔克索弗流的新手
calculate = (op, ...values) => values.reduce(take(op));
^^^^^^^^^ name of the function/variable
^^^^^^^^^^^^^^^ parameters
^^ arrow
^^^^^^^^^^^^^^^^^^^^^^^ return value