I am trying to create a calculator and I am unable to calculate negative numbers because my current logic splits displayValue using regular expressions to separate numbers and operators into displayArray.
Here is my code:
`// Initialize variables
let displayValue = '';
let displayArray = [];
const screenDiv = document.getElementById('screen');
const numberButtons = document.querySelectorAll('.number');
const operatorButtons = document.querySelectorAll('.operator');
// Event listeners for number buttons
numberButtons.forEach(button => {
button.addEventListener('click', () => {
displayValue += button.textContent;
displayArray = displayValue.split(/([+-*/])/);
const [firstNumber, operator, secondNumber] = displayArray;
if (displayArray.length === 3) {
screenDiv.textContent = secondNumber;
} else {
screenDiv.textContent = firstNumber;
}
if (firstNumber === '0') {
displayValue = '';
}
});
});
// Event listeners for operator buttons
operatorButtons.forEach(button => {
button.addEventListener('click', () => {
if (displayArray.length === 3) {
displayValue = operate(); // Assuming operate() is a function to perform the operation
screenDiv.textContent = displayValue;
displayValue += button.textContent;
} else {
displayValue += button.textContent;
}
});
});
`
New contributor
Muheet Hazarika is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.