첫 번째 인수로 4개의 문자(+, -, *, /) 중 하나와 그 이후에 임의의 수의 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