From 9845e8c71cea9ce8125e73d62f62677416aca092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=96=D0=B5=D1=80=D0=B5=D0=B1=D1=86=D0=BE=D0=B2=20=D0=94?= =?UTF-8?q?=D0=BC=D0=B8=D1=82=D1=80=D0=BE=20=D0=92=D1=96=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Tue, 28 Jan 2025 14:02:13 +0200 Subject: [PATCH] refactoring, duplicate code --- assets/Js/Calculator.js | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/assets/Js/Calculator.js b/assets/Js/Calculator.js index 903175f6..79b9b218 100644 --- a/assets/Js/Calculator.js +++ b/assets/Js/Calculator.js @@ -177,32 +177,29 @@ numberButtons.forEach(button => { }) }) +const operationMap = { + "pie-button": 1, + "e-button": 2, + "square": 3, + "pow": 4, + "squareRoot": 5, + "logBase10": 6 +}; + operationButtons.forEach(button => { button.addEventListener('click', () => { if (button.classList.contains("special")) { - if (button.classList.contains("pie-button")) { - calculator.specialOperation(1) - } - else if (button.classList.contains("e-button")) { - calculator.specialOperation(2) - } - else if (button.classList.contains("square")) { - calculator.specialOperation(3) - } - else if (button.classList.contains("pow")) { - calculator.specialOperation(4) - } - else if (button.classList.contains("squareRoot")) { - calculator.specialOperation(5) - } - else if (button.classList.contains("logBase10")) { - calculator.specialOperation(6) + const specialOperationKey = Object.keys(operationMap).find(key => button.classList.contains(key)); + if (specialOperationKey) { + calculator.specialOperation(operationMap[specialOperationKey]); } + } else { + calculator.chooseOperation(button.innerText); } - else calculator.chooseOperation(button.innerText) - calculator.updateDisplay() - }) -}) + calculator.updateDisplay(); + }); +}); + equalsButton.addEventListener('click', button => { calculator.compute()