做一个加法或乘法,如果参与运算的数字不确定,如何实现函数calculate,能完成calculate(“*”,2,3,4)和calculate("+",2,3,4,5)?请使用ES6中rest参数编写函数calculate
时间: 2024-02-09 11:12:07 浏览: 56
Calculate.rar_Fun_ Fun_ Fun_calculate函数
可以使用ES6中的rest参数来实现该函数,代码如下:
```
function calculate(operator, ...numbers) {
let result = 0;
switch (operator) {
case '+':
result = numbers.reduce((acc, cur) => acc + cur);
break;
case '*':
result = numbers.reduce((acc, cur) => acc * cur);
break;
default:
console.log('Unsupported operator!');
}
return result;
}
console.log(calculate('*', 2, 3, 4)); // 24
console.log(calculate('+', 2, 3, 4, 5)); // 14
```
在这个函数中,使用了rest参数`...numbers`来接收任意数量的数字参数,并使用`reduce()`方法来实现加法或乘法运算。函数根据传入的运算符进行判断,如果是加法,就使用`reduce()`方法的加法累加函数,如果是乘法,就使用`reduce()`方法的乘法累积函数。最后将计算结果返回。
阅读全文