我想编写一个函数,对提供的所有参数执行算术运算。例如,如果我这样做:
计算('+', 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));
这不起作用,所以我什至无法前进。
最佳答案
在每个函数中,您都有一个 arguments object请参阅其余、默认和解构参数部分,如下所示:
The arguments object can be used in conjunction with rest, default, and destructured parameters.
function foo(...args) { return args; }
一旦你有了计算所需的所有参数,只需使用 Array.prototype.reduce()
。正如文档所述:
The reduce() method executes a reducer function (that you provide) on each element of the array, resulting in a single output value.
我想你可以使用如下:
const mCalc = (_operator, ...args) => {
if(_operator === '+') {
return args.reduce((a, c) => a + c, 0);
}
// rest what you want to implement
}
const result = mCalc('+', 3, 5, 6, 2);
console.log(result);
希望对您有所帮助!
关于javascript - 如何创建一个接受多个参数的函数来在 JavaScript 中执行算术计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59601218/