我们必须编写一个函数,说它calculator()
接受四个字符(+,-,*,/)中的一个作为第一个参数,然后输入任意数量的Number文字。我们的工作是对这些数字执行指定为第一个参数的运算,然后返回结果。
如果运算是乘法或加法,则需要对每个元素执行相同的运算。但是,如果运算是减法或除法运算,则必须根据运算将第一个元素视为中性,然后从中减去所有其他元素或将其除以所有其他元素。
因此,让我们为该函数编写代码-
const calculator = (operation, ...numbers) => { const legend = '+-*/'; const ind = legend.indexOf(operation); return numbers.reduce((acc, val) => { switch(operation){ case '+': return acc+val; case '-': return acc-val; case '*': return acc*val; case '/': return acc/val; }; }); }; console.log(calculator('+', 12, 45, 21, 12, 6)); console.log(calculator('-', 89, 45, 21, 12, 6)); console.log(calculator('*', 12, 45, 21, 12, 6)); console.log(calculator('/', 189000, 45, 7, 12, 4));
输出结果
控制台中的输出将为-
96 5 816480 12.5