From e097571977cb19db4f5d47a88b88d705ab3ad966 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 2 Jul 2020 12:42:05 -0400 Subject: [PATCH 1/5] closing in on solution --- assets/js/numbers.js | 94 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/assets/js/numbers.js b/assets/js/numbers.js index 5a925a6..59120f3 100644 --- a/assets/js/numbers.js +++ b/assets/js/numbers.js @@ -1,3 +1,97 @@ function compute(expression) { // TODO - write method definition here + // var mathArray = new Array(parseInt(expression.split().length)); + var solution; + var regex = "[*/+-]+g"; + // parseInt(expression.split("")); + // expression.replace(/\s/g, ""); + var expressionArray = new Array(); + var expressionArray = expression.split(''); //join('') //.split(regex) + + /* + for (var i = 0; i < expressionArray.length; i++) { + + + //=============== + var add = '+'; + var subtract = '-'; + var multiply = "*"; + var divide = "/"; + switch (expressionArray[i]) { + case '-': + solution += '-'; + break; + case '+': + solution += add.substring(0,2); + break; + case '*': + solution += '*'; + break; + case '/': + solution += divide; + break; + default: + solution += expressionArray[i]; + break; + } + + */ + + // do { + // first do multiplication and division + for (element = 0; element < expressionArray.length; element++) { + if (expressionArray[element] == '*' || expressionArray[element] == '/') { + if (expressionArray[element] == '*') { + var solutionSwap = parseInt(expressionArray[element -1]) * parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 4, solutionSwap); + } + } else if (expressionArray[element] == '/') { + var solutionSwap = parseInt(expressionArray[element -1]) / parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 4, solutionSwap); + } + // then addition and subtraction + if (expressionArray[element] == '+' || expressionArray[element] == '-') { + if (expressionArray[element] == '+') { + var solutionSwap = parseInt(expressionArray[element -1]) + parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 4, solutionSwap); + } + } else { + if (expressionArray[element] == '-') { + var solutionSwap = parseInt(expressionArray[element -1]) - parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 4, solutionSwap); + } + } + } //add / back in, maybe + // } while () + /* + + if (parseInt(mathArray[i]) == "+") { + solution += (parseInt(mathArray[i-1])) + (parseInt(mathArray[i+1])) + } else if (mathArray[i] = "-") { + solution += (parseInt(mathArray[i-1])) - (parseInt(mathArray[i+1])) + } + + } + switch (mathArray[i]) { + case '-': + solution += (parseInt(mathArray[i-1]) * 1) - (parseInt(mathArray[i+1]) *1); + break; + case "+": + solution += (parseInt(mathArray[i-1]) * 1) + (parseInt(mathArray[i+1]) * 1); + break; + default: + break; + + } + */ + + // var solution += parseInt(mathArray[i]); +// } -------------------------------------------------to make return inside function + // var solution = 1 * parseInt(expression); + + //return parseInt(solution.substring(9)); + + return expressionArray; + + } \ No newline at end of file From af9cc44b37f5d4fbb9f8f4ba4f978d86a60194e1 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 2 Jul 2020 13:10:17 -0400 Subject: [PATCH 2/5] need to account for multi-digit numbers and order of operations --- assets/js/numbers.js | 101 +++++++------------------------------------ 1 file changed, 16 insertions(+), 85 deletions(-) diff --git a/assets/js/numbers.js b/assets/js/numbers.js index 59120f3..3500ac4 100644 --- a/assets/js/numbers.js +++ b/assets/js/numbers.js @@ -1,97 +1,28 @@ function compute(expression) { // TODO - write method definition here - // var mathArray = new Array(parseInt(expression.split().length)); - var solution; - var regex = "[*/+-]+g"; - // parseInt(expression.split("")); - // expression.replace(/\s/g, ""); var expressionArray = new Array(); - var expressionArray = expression.split(''); //join('') //.split(regex) + var expressionArray = expression.split(''); - /* - for (var i = 0; i < expressionArray.length; i++) { - - - //=============== - var add = '+'; - var subtract = '-'; - var multiply = "*"; - var divide = "/"; - switch (expressionArray[i]) { - case '-': - solution += '-'; - break; - case '+': - solution += add.substring(0,2); - break; - case '*': - solution += '*'; - break; - case '/': - solution += divide; - break; - default: - solution += expressionArray[i]; - break; - } - - */ - - // do { - // first do multiplication and division + for (counter = 0; counter < 10; counter++) { for (element = 0; element < expressionArray.length; element++) { - if (expressionArray[element] == '*' || expressionArray[element] == '/') { - if (expressionArray[element] == '*') { - var solutionSwap = parseInt(expressionArray[element -1]) * parseInt(expressionArray[element +1]); - expressionArray.splice(element-1, 4, solutionSwap); - } - } else if (expressionArray[element] == '/') { + if (expressionArray[element] == '*') { + var solutionSwap = parseInt(expressionArray[element -1]) * parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } + if (expressionArray[element] == '/') { var solutionSwap = parseInt(expressionArray[element -1]) / parseInt(expressionArray[element +1]); - expressionArray.splice(element-1, 4, solutionSwap); - } - // then addition and subtraction - if (expressionArray[element] == '+' || expressionArray[element] == '-') { - if (expressionArray[element] == '+') { - var solutionSwap = parseInt(expressionArray[element -1]) + parseInt(expressionArray[element +1]); - expressionArray.splice(element-1, 4, solutionSwap); - } - } else { - if (expressionArray[element] == '-') { - var solutionSwap = parseInt(expressionArray[element -1]) - parseInt(expressionArray[element +1]); - expressionArray.splice(element-1, 4, solutionSwap); - } + expressionArray.splice(element-1, 3, solutionSwap); + } + if (expressionArray[element] == '+') { + var solutionSwap = parseInt(expressionArray[element -1]) + parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } + if (expressionArray[element] == '-') { + var solutionSwap = parseInt(expressionArray[element -1]) - parseInt(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); } - } //add / back in, maybe - // } while () - /* - - if (parseInt(mathArray[i]) == "+") { - solution += (parseInt(mathArray[i-1])) + (parseInt(mathArray[i+1])) - } else if (mathArray[i] = "-") { - solution += (parseInt(mathArray[i-1])) - (parseInt(mathArray[i+1])) } - } - switch (mathArray[i]) { - case '-': - solution += (parseInt(mathArray[i-1]) * 1) - (parseInt(mathArray[i+1]) *1); - break; - case "+": - solution += (parseInt(mathArray[i-1]) * 1) + (parseInt(mathArray[i+1]) * 1); - break; - default: - break; - - } - */ - - // var solution += parseInt(mathArray[i]); -// } -------------------------------------------------to make return inside function - // var solution = 1 * parseInt(expression); - //return parseInt(solution.substring(9)); - return expressionArray; - - } \ No newline at end of file From a12404c050223b68b313cbf79643e4f2a5be8917 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 2 Jul 2020 13:51:42 -0400 Subject: [PATCH 3/5] order of operations fixed; need to account for double-digit numbers --- assets/js/numbers.js | 126 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 117 insertions(+), 9 deletions(-) diff --git a/assets/js/numbers.js b/assets/js/numbers.js index 3500ac4..b4caa19 100644 --- a/assets/js/numbers.js +++ b/assets/js/numbers.js @@ -2,27 +2,135 @@ function compute(expression) { // TODO - write method definition here var expressionArray = new Array(); var expressionArray = expression.split(''); + var solutionSwap; - for (counter = 0; counter < 10; counter++) { + //MULTIPLICATION + for (counter = 0; counter < 4; counter++) { for (element = 0; element < expressionArray.length; element++) { if (expressionArray[element] == '*') { - var solutionSwap = parseInt(expressionArray[element -1]) * parseInt(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); + if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) * parseFloat(expressionArray[element +2]); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) * parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) * parseFloat(expressionArray[element +2]); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) * parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } + } + } + } + + + //DIVISION + for (counter = 0; counter < 4; counter++) { + for (element = 0; element < expressionArray.length; element++) { + if (expressionArray[element] == '/') { + if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) / parseFloat(expressionArray[element +2]); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) / parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +2]); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } + } + } + } + + + + + //ADDITION + for (counter = 0; counter < 4; counter++) { + for (element = 0; element < expressionArray.length; element++) { + if (expressionArray[element] == '+') { + if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) + parseFloat(expressionArray[element +2]); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) + parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +2]); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } + } + } + } + + + //SUBTRACTION + for (counter = 0; counter < 4; counter++) { + for (element = 0; element < expressionArray.length; element++) { + if (expressionArray[element] == '-') { + if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) - parseFloat(expressionArray[element +2]); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -2]) - parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +2]); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } } + } + } + +/* if (expressionArray[element] == '/') { - var solutionSwap = parseInt(expressionArray[element -1]) / parseInt(expressionArray[element +1]); + var solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); } if (expressionArray[element] == '+') { - var solutionSwap = parseInt(expressionArray[element -1]) + parseInt(expressionArray[element +1]); + var solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); } if (expressionArray[element] == '-') { - var solutionSwap = parseInt(expressionArray[element -1]) - parseInt(expressionArray[element +1]); + var solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); } - } - } - //return parseInt(solution.substring(9)); + */ + return expressionArray; } \ No newline at end of file From fb716d1b5df0ce040c84ca838fb2f64a3148bef5 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 2 Jul 2020 14:38:00 -0400 Subject: [PATCH 4/5] closer... --- assets/js/numbers.js | 130 +++++++++++++++++++++++-------------------- 1 file changed, 71 insertions(+), 59 deletions(-) diff --git a/assets/js/numbers.js b/assets/js/numbers.js index b4caa19..04b3f13 100644 --- a/assets/js/numbers.js +++ b/assets/js/numbers.js @@ -9,17 +9,17 @@ function compute(expression) { for (element = 0; element < expressionArray.length; element++) { if (expressionArray[element] == '*') { if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) * parseFloat(expressionArray[element +2]); + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) * ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-2, 5, solutionSwap); } if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) * parseFloat(expressionArray[element +1]); + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) * parseFloat(expressionArray[element +1]); expressionArray.splice(element-2, 4, solutionSwap); } - +// if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) * parseFloat(expressionArray[element +2]); + solutionSwap = parseFloat(expressionArray[element -1]) * ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-1, 4, solutionSwap); } @@ -37,24 +37,24 @@ function compute(expression) { for (element = 0; element < expressionArray.length; element++) { if (expressionArray[element] == '/') { if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) / parseFloat(expressionArray[element +2]); - expressionArray.splice(element-2, 5, solutionSwap); - } - - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) / parseFloat(expressionArray[element +1]); - expressionArray.splice(element-2, 4, solutionSwap); - } - - if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +2]); - expressionArray.splice(element-1, 4, solutionSwap); - } - - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); - } + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) / ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) / parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + // + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) / ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } } } } @@ -67,24 +67,24 @@ function compute(expression) { for (element = 0; element < expressionArray.length; element++) { if (expressionArray[element] == '+') { if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) + parseFloat(expressionArray[element +2]); - expressionArray.splice(element-2, 5, solutionSwap); - } - - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) + parseFloat(expressionArray[element +1]); - expressionArray.splice(element-2, 4, solutionSwap); - } - - if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +2]); - expressionArray.splice(element-1, 4, solutionSwap); - } - - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); - } + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) + parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + // + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } } } } @@ -95,24 +95,24 @@ function compute(expression) { for (element = 0; element < expressionArray.length; element++) { if (expressionArray[element] == '-') { if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) - parseFloat(expressionArray[element +2]); - expressionArray.splice(element-2, 5, solutionSwap); - } - - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -2]) - parseFloat(expressionArray[element +1]); - expressionArray.splice(element-2, 4, solutionSwap); - } - - if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +2]); - expressionArray.splice(element-1, 4, solutionSwap); - } - - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { - solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); - } + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) - ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); + expressionArray.splice(element-2, 5, solutionSwap); + } + + if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) - parseFloat(expressionArray[element +1]); + expressionArray.splice(element-2, 4, solutionSwap); + } + // + if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) - ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); + expressionArray.splice(element-1, 4, solutionSwap); + } + + if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { + solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]); + expressionArray.splice(element-1, 3, solutionSwap); + } } } } @@ -133,4 +133,16 @@ function compute(expression) { */ return expressionArray; -} \ No newline at end of file +} + +/* +function twoAwayAndTwoForward() { + var result = (parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1])) + operator + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))) + + + + solutionSwap = parseFloat(expressionArray[element -2]) * parseFloat(expressionArray[element +2]); + expressionArray.splice(element-2, 5, solutionSwap); + + +} */ \ No newline at end of file From 633ce9824995200459fca4497f1d9c91c2a1caf7 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 2 Jul 2020 15:18:16 -0400 Subject: [PATCH 5/5] updated code and cleaned up --- assets/js/numbers.js | 49 +------------------------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/assets/js/numbers.js b/assets/js/numbers.js index 04b3f13..26b936b 100644 --- a/assets/js/numbers.js +++ b/assets/js/numbers.js @@ -12,17 +12,14 @@ function compute(expression) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) * ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-2, 5, solutionSwap); } - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) * parseFloat(expressionArray[element +1]); expressionArray.splice(element-2, 4, solutionSwap); } -// if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) * ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-1, 4, solutionSwap); } - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) * parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); @@ -30,8 +27,6 @@ function compute(expression) { } } } - - //DIVISION for (counter = 0; counter < 4; counter++) { for (element = 0; element < expressionArray.length; element++) { @@ -40,17 +35,14 @@ function compute(expression) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) / ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-2, 5, solutionSwap); } - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) / parseFloat(expressionArray[element +1]); expressionArray.splice(element-2, 4, solutionSwap); } - // if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) / ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-1, 4, solutionSwap); } - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); @@ -58,10 +50,6 @@ function compute(expression) { } } } - - - - //ADDITION for (counter = 0; counter < 4; counter++) { for (element = 0; element < expressionArray.length; element++) { @@ -70,17 +58,14 @@ function compute(expression) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-2, 5, solutionSwap); } - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) + parseFloat(expressionArray[element +1]); expressionArray.splice(element-2, 4, solutionSwap); } - // if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-1, 4, solutionSwap); } - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); @@ -88,8 +73,6 @@ function compute(expression) { } } } - - //SUBTRACTION for (counter = 0; counter < 4; counter++) { for (element = 0; element < expressionArray.length; element++) { @@ -98,17 +81,14 @@ function compute(expression) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) - ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-2, 5, solutionSwap); } - if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) - parseFloat(expressionArray[element +1]); expressionArray.splice(element-2, 4, solutionSwap); } - // if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) - ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))); expressionArray.splice(element-1, 4, solutionSwap); } - if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) { solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]); expressionArray.splice(element-1, 3, solutionSwap); @@ -116,33 +96,6 @@ function compute(expression) { } } } - -/* - if (expressionArray[element] == '/') { - var solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); - } - if (expressionArray[element] == '+') { - var solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); - } - if (expressionArray[element] == '-') { - var solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]); - expressionArray.splice(element-1, 3, solutionSwap); - } - */ return expressionArray; -} - -/* -function twoAwayAndTwoForward() { - var result = (parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1])) + operator + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2]))) - - - - solutionSwap = parseFloat(expressionArray[element -2]) * parseFloat(expressionArray[element +2]); - expressionArray.splice(element-2, 5, solutionSwap); - - -} */ \ No newline at end of file +} \ No newline at end of file