Chúng ta phải viết một hàm, chẳng hạn như máy tính () nhận một trong bốn ký tự (+, -, *, /) làm đối số đầu tiên và bất kỳ số ký tự Số nào sau đó. Công việc của chúng ta là thực hiện phép toán được chỉ định làm đối số đầu tiên trên các số đó và trả về kết quả.
Nếu hoạt động là phép nhân hoặc phép cộng, chúng tôi bắt buộc phải thực hiện cùng một phép toán với mọi phần tử. Nhưng nếu phép toán là phép trừ hoặc phép chia, chúng ta phải coi phần tử đầu tiên là trung tính và trừ tất cả các phần tử khác khỏi nó hoặc chia nó cho tất cả các phần tử khác, dựa trên phép toán.
Do đó, hãy viết mã cho chức năng này -
Ví dụ
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));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
96 5 816480 12.5