From 02c5e9b1c7bdd2bd670f6286c73d7ee1b950e565 Mon Sep 17 00:00:00 2001 From: anickacodes Date: Mon, 1 May 2023 09:51:51 -0400 Subject: [PATCH 1/2] Lab 4 i think: minus minus section --- index.js | 36 ++++++++++++++++++++++++++++++++++-- package-lock.json | 44 +++++++++++++------------------------------- 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/index.js b/index.js index 3bb4d07..c318a26 100644 --- a/index.js +++ b/index.js @@ -1,10 +1,42 @@ /** * The function below has no parameters. Instead, access the arguments from the command line. * The first argument passed after the filename should be either "plus" or "minus", which represents the kind of calculation that will be done. Every argument afterwards should be a number. - * Depending on the operation, either add up all of the numbers or subtract all of the numbers, from left to right. + * Depending on the operation, either add up all of the numbers or subtract all of the numbers, from left to right. 🔐 * @returns {number} The result of either adding all numbers or subtracting all numbers, depending on the arguments added to the command line. */ -function calculator() {} +function calculator() { + let operator = process.argv[2]; //let operator = "operationName" + let sum = 0; + + + if (!operator) {//is there an operator? + return "No operation provided..."; //truthyness determined + } else if (operator !== "plus" && operator !== "minus") { //no math allowed + return "Invalid operation: " + operator; + } + + const numbers = process.argv.slice(3); //look at every element after [2] + //let numArray = []; + if (numbers.length === 0q) { //are there less than 2 elements + //console.log("first", numbers.length) + return "No numbers provided..."; + } + + for( let num of numbers) { //iterate through [3] onwards + if (operator === "plus") { + sum += Number(num); //accumulate everything including && after [3] + } + else if (operator === "minus") { + console.log("n", numbers) + sum -= Number(num); + console.log("s", sum) + } + + } + return sum; +} + +calculator(); // Don't change anything below this line. module.exports = calculator; diff --git a/package-lock.json b/package-lock.json index 4d451a9..e0f6e26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2873,13 +2873,10 @@ } }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -3022,9 +3019,9 @@ } }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -3033,12 +3030,6 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -6180,13 +6171,10 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "kleur": { "version": "3.0.3", @@ -6290,20 +6278,14 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", From de687c27c3f5fa9ab77fd82aa390620aa5d4a48a Mon Sep 17 00:00:00 2001 From: anickacodes Date: Tue, 2 May 2023 18:39:00 -0400 Subject: [PATCH 2/2] Resubmit --- index.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index c318a26..739a7d0 100644 --- a/index.js +++ b/index.js @@ -17,7 +17,7 @@ function calculator() { const numbers = process.argv.slice(3); //look at every element after [2] //let numArray = []; - if (numbers.length === 0q) { //are there less than 2 elements + if (numbers.length === 0) { //are there less than 2 elements //console.log("first", numbers.length) return "No numbers provided..."; } @@ -27,12 +27,9 @@ function calculator() { sum += Number(num); //accumulate everything including && after [3] } else if (operator === "minus") { - console.log("n", numbers) - sum -= Number(num); - console.log("s", sum) - } - - } + return sum = numbers.reduce((previousVal, currentVal) => Number(previousVal) - Number(currentVal)) //accummulate the difference of numbers + } + } return sum; }