Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let keys=Array.from(document.getElementsByClassName('keys'));
- let exprOutput=document.getElementById('expressionOutput');
- let result=document.getElementById('resultOutput');
- let clearBtn=document.querySelector('.clear');
- let operand;
- let firstNum='';
- let secondNum='';
- let calculator={
- '+':(a,b)=>a+b,
- '-':(a,b)=>a-b,
- '*':(a,b)=>a*b,
- '/':(a,b)=>a/b,
- }
- keys.map(key=>key.addEventListener('click', function (evt) {
- let currSelection=evt.target.value;
- clearBtn.addEventListener('click',()=>{
- exprOutput.textContent='';
- result.textContent='';
- firstNum='';
- secondNum='';
- operand='';
- });
- if(Number(currSelection)||currSelection==="."||currSelection==='0'){
- if(!operand){
- firstNum+=currSelection;
- exprOutput.textContent+=currSelection;
- }else {
- secondNum+=currSelection;
- exprOutput.textContent+=currSelection
- }
- }else if(calculator.hasOwnProperty(currSelection)){
- operand=currSelection;
- exprOutput.textContent+=`${operand} `;
- }else if(currSelection==='='){
- if(Number(firstNum) && Number(secondNum)){
- result.textContent=calculator[operand](Number(firstNum),Number(secondNum));
- }else {
- result.textContent='NaN'
- }
- }
- }))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement