diff --git a/src/01-functions.js b/src/01-functions.js index 8d772b6a..3cfd1671 100644 --- a/src/01-functions.js +++ b/src/01-functions.js @@ -9,7 +9,10 @@ * alwaysTrue(); * //> true */ -function alwaysTrue() {} +function alwaysTrue() { + + return true +} /** * greet() @@ -24,7 +27,10 @@ function alwaysTrue() {} * greet("Ian"); * //> "Hello, Ian." */ -function greet() {} +function greet(name) { + + return `Hello, ${name}.` +} /** * add() @@ -39,7 +45,10 @@ function greet() {} * add(10, 20); * //> 30 */ -function add() {} +function add(a, b) { + + return a + b +} /** * multiply() @@ -54,7 +63,10 @@ function add() {} * multiply(2, 5); * //> 10 */ -function multiply() {} +function multiply(a, b) { + + return a * b +} /** * average() @@ -74,7 +86,14 @@ function multiply() {} * average(10, 6); * //> 8 // 10 + 6 = 16; 16/2 = 8; */ -function average() {} +function average(a, b) { + + let sumNum = a + b + + let answer = sumNum / 2 + + return answer +} /** * averageThree() @@ -93,7 +112,14 @@ function average() {} * averageThree(10, 11, 19); * //> 10 // 10 + 11 + 19 = 30; 30 / 3 = 10; */ -function averageThree() {} +function averageThree(a, b, c) { + + let threeSum = a + b + c + + let answer = threeSum / 3 + + return answer +} /** * compareTypes() @@ -112,13 +138,25 @@ function averageThree() {} * compareTypes("left", 10); * //> false */ -function compareTypes() {} +function compareTypes(a, b) { + + if(typeof a === typeof b){ + + return true + + } + else { + + return false + + } +} /** * flipSign() * --------------------- * Returns the negative of a positive integer, or the positive of a negative integer. - * @param {number} a + * @param {number} * @returns {number} * * HINT: Using pencil and paper, how would you make a positive number look negative? @@ -131,8 +169,24 @@ function compareTypes() {} * flipSign(50); * //> -50 */ -function flipSign() {} +function flipSign(number) { + + if(number > 0){ + + number *= -1 + + return number + + } else { + + number *= -1 + + return number + + } + +} /** * joinStringsWithSpaces() * --------------------- @@ -151,7 +205,10 @@ function flipSign() {} * joinStringsWithSpaces("left", "right", "up", "down", "away"); * //> "left right up down away" */ -function joinStringsWithSpaces() {} +function joinStringsWithSpaces(a, b, c, d, e) { + + return `${a} ${b} ${c} ${d} ${e}` +} /** * getFirstAndLastCharacter() @@ -168,7 +225,15 @@ function joinStringsWithSpaces() {} * getFirstAndLastCharacter("upwards"); * //> "us" */ -function getFirstAndLastCharacter() {} +function getFirstAndLastCharacter(a) { + + + return a[0] + a[a.length - 1] +} + + + + // Do not change the code below. module.exports = { diff --git a/src/02-data-types.js b/src/02-data-types.js index 79cf96cf..803ddbef 100644 --- a/src/02-data-types.js +++ b/src/02-data-types.js @@ -9,7 +9,10 @@ * getLengthOfString("down"); * //> 4 */ -function getLengthOfString(str) {} +function getLengthOfString(str) { + + return str.length +} /** * convertToNumber() @@ -22,7 +25,12 @@ function getLengthOfString(str) {} * convertToNumber("111"); * //> 111 */ -function convertToNumber(val) {} +function convertToNumber(val) { + + val = +val + + return val +} /** * convertToString() @@ -36,7 +44,12 @@ function convertToNumber(val) {} * convertToString(99); * //> "99" */ -function convertToString(val) {} +function convertToString(val) { + + val = val.toString() + + return val +} /** * convertToShoutingText() @@ -49,7 +62,12 @@ function convertToString(val) {} * convertToShoutingText("Hello There"); * //> "HELLO THERE" */ -function convertToShoutingText(text) {} +function convertToShoutingText(text) { + + text = text.toUpperCase() + + return text +} /** * convertToWhisperText() @@ -62,7 +80,12 @@ function convertToShoutingText(text) {} * convertToWhisperText("Hello There"); * //> "hello there" */ -function convertToWhisperText(text) {} +function convertToWhisperText(text) { + + text = text.toLowerCase() + + return text +} /** * checkIfCharacterIsInString() @@ -79,7 +102,17 @@ function convertToWhisperText(text) {} * checkIfCharacterIsInString("hello there", "a"); * //> false */ -function checkIfCharacterIsInString(text, character) {} +function checkIfCharacterIsInString(text, character) { + + if(text.includes(character)){ + + return true + + }else { + + return false + } +} /** * isEven() @@ -95,7 +128,18 @@ function checkIfCharacterIsInString(text, character) {} * isEven(11); * //> false */ -function isEven(num) {} +function isEven(num) { + + if(num % 2 === 0){ + + return true + + }else { + + return false + } + +} /** * isOdd() @@ -111,7 +155,17 @@ function isEven(num) {} * isOdd(11); * //> true */ -function isOdd(num) {} +function isOdd(num) { + + if(num % 2 !== 0){ + + return true + + }else { + + return false + } +} /** * isTruthy() diff --git a/src/03-control-flow.js b/src/03-control-flow.js index 8f675935..160a9340 100644 --- a/src/03-control-flow.js +++ b/src/03-control-flow.js @@ -14,7 +14,18 @@ * isEqual(10, "10"); * //> false */ -function isEqual(a, b) {} +function isEqual(a, b) { + + if(a === b){ + + return true + + } else{ + + return false + + } +} /** * findLarger() @@ -28,7 +39,18 @@ function isEqual(a, b) {} * findLarger(19, 7); * //> 19 */ -function findLarger(a, b) {} +function findLarger(a, b) { + + if(a > b){ + + return a + + }else { + + return b + + } +} /** * findLargerOrTie() @@ -45,7 +67,22 @@ function findLarger(a, b) {} * findLargerOrTie(0, 0); * //> "tie" */ -function findLargerOrTie(a, b) {} +function findLargerOrTie(a, b) { + + if(a === b){ + + return "tie" + + }else if(a > b){ + + return a + + }else { + + return b + } + +} /** * positiveNegativeOrZero() @@ -65,7 +102,23 @@ function findLargerOrTie(a, b) {} * positiveNegativeOrZero(1); * //> "Positive" */ -function positiveNegativeOrZero(a) {} +function positiveNegativeOrZero(a) { + + if(a > 0){ + + return "Positive" + + }else if(a < 0){ + + return "Negative" + + }else { + + return "Zero" + } + + +} /** * aroundTheWorldGreeting() @@ -86,7 +139,25 @@ function positiveNegativeOrZero(a) {} * aroundTheWorldGreeting(); * //> "Hello World" */ -function aroundTheWorldGreeting(language) {} +function aroundTheWorldGreeting(language) { + + if(language === "english"){ + + return "Hello World" + + }if(language === "spanish"){ + + return "Hola Mundo" + + }if(language === "german"){ + + return "Hallo Welt" + + }else { + + return "Hello World" + } +} /** * aroundTheWorldGreetingWithSwitch() @@ -109,7 +180,29 @@ function aroundTheWorldGreeting(language) {} * aroundTheWorldGreetingWithSwitch(); * //> "Hello World" */ -function aroundTheWorldGreetingWithSwitch(language) {} +function aroundTheWorldGreetingWithSwitch(language) { + +switch(language){ + + case "english": + return "Hello World" + break + + case "spanish": + return "Hola Mundo" + break + + case "german": + return "Hallo Welt" + break + + default: + return "Hello World" + break + +} + +} /** * calculateLetterGrade() @@ -128,7 +221,29 @@ function aroundTheWorldGreetingWithSwitch(language) {} * calculateLetterGrade(99); * //> "A" */ -function calculateLetterGrade(grade) {} +function calculateLetterGrade(grade) { + + if(grade >= 90){ + + return "A" + + }else if(grade >= 80){ + + return "B" + + }else if(grade >= 70){ + + return "C" + + }else if(grade >= 60){ + + return "D" + + }else { + + return "F" + } +} /** * animalCounts() @@ -146,7 +261,16 @@ function calculateLetterGrade(grade) {} * animalCounts("pig", 1); * //> "1 pig" */ -function animalCounts(animal, numberOfAnimals) {} +function animalCounts(animal, numberOfAnimals) { + + if(numberOfAnimals >= 2){ + + return `${numberOfAnimals} ${animal}s` + + }else { + return `${numberOfAnimals} ${animal}` + } +} /** * evenOrOdd() @@ -163,7 +287,17 @@ function animalCounts(animal, numberOfAnimals) {} * evenOrOdd(48); * //> "Even" */ -function evenOrOdd(a) {} +function evenOrOdd(a) { + + if(a % 2 === 0){ + + return "Even" + + }else { + + return "Odd" + } +} /** * evenOrOddWithTernary() @@ -179,7 +313,11 @@ function evenOrOdd(a) {} * evenOrOddWithTernary(8); * //> "Even" */ -function evenOrOddWithTernary(a) {} +function evenOrOddWithTernary(a) { + +return + +} // Do not change any code below this line. module.exports = { diff --git a/src/04-arrays.js b/src/04-arrays.js index 5317f7c3..149f21b8 100644 --- a/src/04-arrays.js +++ b/src/04-arrays.js @@ -10,7 +10,10 @@ * createEmptyArray(); * //> [] */ -function createEmptyArray() {} +function createEmptyArray() { + + return [] +} /** * createArrayWithTwoElements() @@ -24,7 +27,10 @@ function createEmptyArray() {} * createArrayWithTwoElements(true, false); * //> [ true, false ] */ -function createArrayWithTwoElements(a, b) {} +function createArrayWithTwoElements(a, b) { + + return [a, b] +} /** * getArrayLength() @@ -37,7 +43,10 @@ function createArrayWithTwoElements(a, b) {} * getArrayLength([ 10, 20, 30 ]); * //> 3 */ -function getArrayLength(array) {} +function getArrayLength(array) { + + return array.length +} /** * getFirstElementOfArray() @@ -51,7 +60,10 @@ function getArrayLength(array) {} * getFirstElementOfArray([ 10, 20, 30 ]); * //> 10 */ -function getFirstElementOfArray(array) {} +function getFirstElementOfArray(array) { + + return array[0] +} /** * getLastElementOfArray() @@ -65,7 +77,10 @@ function getFirstElementOfArray(array) {} * getLastElementOfArray([ null, undefined ]); * //> undefined */ -function getLastElementOfArray(array) {} +function getLastElementOfArray(array) { + + return array[array.length - 1] +} /** * addElementToEndOfArray() @@ -79,7 +94,12 @@ function getLastElementOfArray(array) {} * addElementToEndOfArray([ 10 ], 9); * //> [ 10, 9 ] */ -function addElementToEndOfArray(array, element) {} +function addElementToEndOfArray(array, element) { + + array.push(element) + + return array +} /** * removeElementFromEndOfArray() @@ -92,7 +112,10 @@ function addElementToEndOfArray(array, element) {} * removeElementFromEndOfArray([ 10, 9, 8 ]); * //> 8 */ -function removeElementFromEndOfArray(array) {} +function removeElementFromEndOfArray(array) { + + return array.pop() +} /** * addElementToFrontOfArray() @@ -106,7 +129,13 @@ function removeElementFromEndOfArray(array) {} * addElementToFrontOfArray([ 10 ], 9); * //> [ 9, 10 ] */ -function addElementToFrontOfArray(array, element) {} +function addElementToFrontOfArray(array, element) { + + array.unshift(element) + + return array + +} /** * removeElementFromFrontOfArray() @@ -119,7 +148,10 @@ function addElementToFrontOfArray(array, element) {} * removeElementFromFrontOfArray([ 10, 9, 8 ]); * //> 10 */ -function removeElementFromFrontOfArray(array) {} +function removeElementFromFrontOfArray(array) { + + return array.shift() +} /** * getMiddleElement() @@ -135,7 +167,10 @@ function removeElementFromFrontOfArray(array) {} * getMiddleElement([ 10, null, "30" ]); * //> null */ -function getMiddleElement(array) {} +function getMiddleElement(array) { + + return array[1] +} // Do not change any code below this line. module.exports = { diff --git a/src/05-objects.js b/src/05-objects.js index 3e97313c..8a403e2c 100644 --- a/src/05-objects.js +++ b/src/05-objects.js @@ -9,7 +9,10 @@ * createEmptyObject() * //> {} */ -function createEmptyObject() {} +function createEmptyObject() { + + return {} +} /** * createObjectWithValue() @@ -22,7 +25,10 @@ function createEmptyObject() {} * createObjectWithValue(19); * //> { whateverKey: 19 } */ -function createObjectWithValue(val) {} +function createObjectWithValue(val) { + + return {numnKey: val} +} /** * createObjectWithKey() @@ -35,7 +41,14 @@ function createObjectWithValue(val) {} * createObjectWithKey("left"); * //> { left: false } */ -function createObjectWithKey(key) {} +function createObjectWithKey(key) { + + let newObject = {} + + newObject[key] = 'one' + + return newObject +} /** * createObjectWithKeyValuePair() @@ -49,7 +62,14 @@ function createObjectWithKey(key) {} * createObjectWithKeyValuePair("left", "right"); * //> { left: "right" } */ -function createObjectWithKeyValuePair(key, val) {} +function createObjectWithKeyValuePair(key, val) { + + let newObject = {} + + newObject[key] = val + + return newObject +} /** * getNameFromObject() @@ -62,7 +82,10 @@ function createObjectWithKeyValuePair(key, val) {} * getNameFromObject({ name: "Jay" }); * //> "Jay" */ -function getNameFromObject(object) {} +function getNameFromObject(object) { + + return object.name +} /** * getAgeFromObject() @@ -75,7 +98,10 @@ function getNameFromObject(object) {} * getAgeFromObject({ age: 30 }); * //> 30 */ -function getAgeFromObject(object) {} +function getAgeFromObject(object) { + + return object.age +} /** * addValueToObject() @@ -89,7 +115,12 @@ function getAgeFromObject(object) {} * addValueToObject({ left: true }, false); * //> { left: true, key: false } */ -function addValueToObject(object, val) {} +function addValueToObject(object, val) { + + object.name = val + + return object +} /** * addKeyToObject() @@ -103,7 +134,12 @@ function addValueToObject(object, val) {} * addKeyToObject({ right: false }, "left"); * //> { right: false, left: true } */ -function addKeyToObject(object, key) {} +function addKeyToObject(object, key) { + + object[key] = "one" + + return object +} /** * addKeyValuePairToObject() @@ -118,7 +154,12 @@ function addKeyToObject(object, key) {} * addKeyValuePairToObject({ up: true }, "left", false); * //> { up: true, left: false } */ -function addKeyValuePairToObject(object, key, val) {} +function addKeyValuePairToObject(object, key, val) { + + object[key] = val + + return object +} /** * deleteKeyFromObject() @@ -132,7 +173,12 @@ function addKeyValuePairToObject(object, key, val) {} * deleteKeyFromObject({ left: true, right: false }, "left"); * //> { right: false } */ -function deleteKeyFromObject(object, key) {} +function deleteKeyFromObject(object, key) { + + delete object[key] + + return object +} // Do not change any code below this line. module.exports = { diff --git a/src/06-loops.js b/src/06-loops.js index 1116cc27..b508344b 100644 --- a/src/06-loops.js +++ b/src/06-loops.js @@ -11,7 +11,20 @@ * //> 25 * (3 + 4 + 5 + 6 + 7 = 25) */ -function rangeSum(min, max) {} +function rangeSum(min, max) { + + let total = 0 + + for(let num = min; num <= max; num++){ + + total = total + num + } + + return total +} + +//crete a loop to begin from min & end at max +// return sum of all numbers of range created /** * rangeOdd() @@ -25,7 +38,22 @@ function rangeSum(min, max) {} * rangeOdd(10, 15); * //> [ 15, 13, 11 ] */ -function rangeOdd(min, max) {} +function rangeOdd(min, max) { + + let decreasingOdd = [] + + for(let num = max; num >= min; num--){ + + if(num % 2 !== 0){ + + decreasingOdd.push(num) + } + + } + + return decreasingOdd + +} /** * rangeEveryOther() @@ -39,7 +67,18 @@ function rangeOdd(min, max) {} * rangeEveryOther(11, 18); * //> [ 11, 13, 15, 17 ] */ -function rangeEveryOther(min, max) {} +function rangeEveryOther(min, max) { + +let everyOtherArr = [] + + for(num = min; num <= max; num += 2){ + + everyOtherArr.push(num) + } + + + return everyOtherArr +} /** * containsWhileLoop() @@ -61,8 +100,25 @@ function rangeEveryOther(min, max) {} * containsWhileLoop([ "left", "up", "right" ], "down"); * //> false */ -function containsWhileLoop(array, target) {} +function containsWhileLoop(array, target) { + + let i = 0 + + while (i < array.length){ + + i++ + + if(target = array[i]){ + return true + + } else { + + return false + } + + } +} /** * containsForLoop() * --------------------- @@ -83,7 +139,20 @@ function containsWhileLoop(array, target) {} * containsForLoop([ "left", "up", "right" ], "down"); * //> false */ -function containsForLoop(array, target) {} +function containsForLoop(array, target) { + + for(let i = 0; i < array.length; i++){ + + if(target = array[i]){ + + return true + + }else { + + return false + } + } +} /** * targetCount() @@ -97,7 +166,24 @@ function containsForLoop(array, target) {} * targetCount([ 10, 20, 10, 20, 30 ], 10); * //> 2 */ -function targetCount(array, target) {} +function targetCount(array, target) { + + let numTarget = 0 + + for(let i = 0; i < array.length; i++){ + + if(array[i] === target){ + + numTarget += 1 + + } + } + + return numTarget + +} + +// /** * firstIndexFound() @@ -117,7 +203,23 @@ function targetCount(array, target) {} * firstIndexFound([ "left", "right", "left" ], "up"); * //> -1 */ -function firstIndexFound(array, target) {} +function firstIndexFound(array, target) { + + let notFound = -1 + + for(let i = 0; i < array.length; i++){ + + if(array[i] === target){ + + return i + + } + + + } + +} + /** * lastIndexFound() @@ -137,7 +239,10 @@ function firstIndexFound(array, target) {} * lastIndexFound([ "left", "right", "left" ], "up"); * //> -1 */ -function lastIndexFound(array, target) {} +function lastIndexFound(array, target) { + + +} /** * timesIndex() diff --git a/src/07-even-more-loops.js b/src/07-even-more-loops.js index 250fde4a..2dbe5198 100644 --- a/src/07-even-more-loops.js +++ b/src/07-even-more-loops.js @@ -12,8 +12,22 @@ * shoutForLoop([ "A", "Very", "Happy", "Array" ]); * //> [ "A!", "Very!", "Happy!", "Array!" ]; */ -function shoutForLoop(array) {} +function shoutForLoop(array) { + let newArray = [] + + for(let i = 0; i < array.length; i++) + + array[i].push('!') + + newArray.push(array[i]) + + return newArray + + + + +} /** * shoutWhileLoop() * --------------------- @@ -57,7 +71,17 @@ function shoutForOfLoop(array) {} * sumArray([ 10, 0, 10, 11 ]); * //> 31 */ -function sumArray(array) {} +function sumArray(array) { + + let finalSum = 0 + for(let i = 0; i < array.length; i++) + + finalSum += array[i] + + return finalSum + + +} /** * oddArray() @@ -70,7 +94,21 @@ function sumArray(array) {} * oddArray([ 11, 15, 20, 22, 37 ]); * //> [ 11, 15, 37 ] */ -function oddArray(array) {} +function oddArray(array) { + + let oddArray = [] + + for(let i = 0; i < array.length; i++){ + + if(array[i] % 2 !== 0){ + + oddArray.push(array[i]) + } + + } + + return oddArray +} /** * evenArray() @@ -83,7 +121,20 @@ function oddArray(array) {} * evenArray([ 11, 15, 20, 22, 37 ]); * //> [ 20, 22 ] */ -function evenArray(array) {} +function evenArray(array) { + + let evenArray = [] + for(let i = 0; i < array.length; i++){ + + if(array[i] % 2 === 0){ + + evenArray.push(array[i]) + } + + } + return evenArray + +} /** * findSmallest() @@ -109,7 +160,16 @@ function findSmallest(array) {} * findLargest([ 0, 11, -2, 5 ]); * //> 11 */ -function findLargest(array) {} +function findLargest(array) { + + let largeNum + for(let i = 0; i < array[i].length; i++){ + + largeNum = Math.max(array[i]) + + return largeNum + } +} /** * findEqual() diff --git a/src/08-accessing.js b/src/08-accessing.js index 079908aa..b5fa0608 100644 --- a/src/08-accessing.js +++ b/src/08-accessing.js @@ -32,7 +32,11 @@ * getFirstName(person); * //> "Rachel" */ -function getFirstName(person) {} +function getFirstName(person) { + + return person.names.first + +} /** * getLastName() @@ -45,7 +49,11 @@ function getFirstName(person) {} * getLastName(person); * //> "Rojas" */ -function getLastName(person) {} +function getLastName(person) { + + return person.names.last + +} /** * getAddressStreet() @@ -58,7 +66,10 @@ function getLastName(person) {} * getAddressStreet(person); * //> "697 Pine Drive" */ -function getAddressStreet(person) {} +function getAddressStreet(person) { + + return person.address.street +} /** * getCountOfPhoneNumbers() @@ -71,7 +82,17 @@ function getAddressStreet(person) {} * getCountOfPhoneNumbers(person); * //> 2 */ -function getCountOfPhoneNumbers(person) {} +function getCountOfPhoneNumbers(person) { + + let phoneCount = 0 + + phoneCount = person.numbers.length + + return phoneCount + } + + + /** * getFirstPhoneNumber() @@ -87,7 +108,14 @@ function getCountOfPhoneNumbers(person) {} * getFirstPhoneNumber(person); * //> 7185550921 */ -function getFirstPhoneNumber(person) {} +function getFirstPhoneNumber(person) { + + let firstPhone + + firstPhone = person.numbers[0] + + return firstPhone +} /** * getLastPhoneNumber() @@ -103,7 +131,14 @@ function getFirstPhoneNumber(person) {} * getLastPhoneNumber(person); * //> 7185558611 */ -function getLastPhoneNumber(person) {} +function getLastPhoneNumber(person) { + + let lastPhone + + lastPhone = person.numbers[person.numbers.length - 1] + + return lastPhone +} /** * getFullName() @@ -116,7 +151,16 @@ function getLastPhoneNumber(person) {} * getFullName(person); * //> "Rachel Eleanor Rojas" */ -function getFullName(person) {} +function getFullName(person) { + + let fullName + + fullName = `${person.names.first} ${person.names.middle} ${person.names.last}` + + return fullName + + +} /** * getCityAndState() @@ -132,7 +176,14 @@ function getFullName(person) {} * getCityAndState(person); * //> "Staten Island, NY" */ -function getCityAndState(person) {} +function getCityAndState(person) { + + let cityState + + cityState = `${person.address.city}, ${person.address.state}` + + return cityState +} /** * getFullAddress() @@ -148,7 +199,15 @@ function getCityAndState(person) {} * getFullAddress(person); * //> "697 Pine Drive 2A, Staten Island, NY, 10306" */ -function getFullAddress(person) {} +function getFullAddress(person) { + + let fullAddress + + fullAddress = + `${person.address.street} ${person.address.unit}, ${person.address.city}, ${person.address.state}, ${person.address.zip}` + + return fullAddress +} /** * getFlatObject() @@ -171,7 +230,45 @@ function getFullAddress(person) {} numbers: [7185550921, 7185558611], }; */ -function getFlatObject(person) {} +function getFlatObject(person) { + + let flatObject = {} + + flatObject.first = person.names.first + flatObject.middle = person.names.middle + flatObject.last = person.names.last + flatObject.street = person.address.street + flatObject.unit = person.address.unit + flatObject.city = person.address.city + flatObject.state = person.address.state + flatObject.zip = person.address.zip + flatObject.numbers = person.numbers + + return flatObject + + + +} + + +// const person = { +// names: { +// first: "Rachel", +// middle: "Eleanor", +// last: "Rojas" +// }, +// address: { +// street: "697 Pine Drive", +// unit: "2A", +// city: "Staten Island", +// state: "NY", +// zip: "10306" +// }, +// numbers: [ +// 7185550921, +// 7185558611 +// ] +// } // Do not change the code below. module.exports = { diff --git a/src/09-word-problems.js b/src/09-word-problems.js index 2f63d723..27f6fba4 100644 --- a/src/09-word-problems.js +++ b/src/09-word-problems.js @@ -19,8 +19,31 @@ * applyDiscount(1000, 9, true); * //> 700 */ -function applyDiscount(priceInCents, age, hasMembership) {} +function applyDiscount(priceInCents, age, hasMembership) { + let discount = 0 + + let finalPrice + + if(age <= 10 || age >= 65){ + + discount += .10 + + }if(hasMembership === true){ + + discount += .20 + } + + finalPrice = priceInCents * (1 - discount) + + return finalPrice +} + + + + +// 10 years or younger 10%, 65 years plus 10% +// if has membership 20% off /** * getCartTotal() * --------------------- @@ -40,7 +63,26 @@ function applyDiscount(priceInCents, age, hasMembership) {} getCartTotal(cart); * //> "$30.00" */ -function getCartTotal(products) {} +function getCartTotal(products) { + + let cartFinal = 0 + + + for(let i = 0; i < products.length; i++){ + + cartFinal += products[i].priceInCents * quantity + + cartFinal * .10 + + return `$${cartFinal}.toFixed(2)` + + } +} + + + +//multiply priceInCents by quantity +// /** * compareLocations() @@ -80,7 +122,27 @@ function getCartTotal(products) {} compareLocations(address1, address2); //> "Same city." */ -function compareLocations(address1, address2) {} +function compareLocations(address1, address2) { + + if(address1.street === address2.street & address1.city === address2.city & address1.state === address2.state & address1.zip === address2.zip){ + + return "Same building." + + } else if(address1.city === address2.city & address1.state === address2.state & address1.zip === address2.zip){ + + return "Same city." + + } else if(address1.state === address2.state){ + + return "Same state." + + }else { + + return "Addresses are not near each other." + } + + +} /** * gradeAssignments() @@ -127,7 +189,48 @@ function compareLocations(address1, address2) {} //> }, //> ]; */ -function gradeAssignments(assignments) {} +function gradeAssignments(assignments) { + + + for(let i = 0; i < assignments.length; i++){ + + if(assignments[i].kind === "PASS-FAIL"){ + if(assignments[i].score.received === assignments[i].score.max){ + + assignments[i].status = "PASSED" + + } else { + + assignments[i].status = "FAILED" + } + }else if(assignments[i].kind === "PERCENTAGE"){ + + let percentScore = (assignments[i].score.received / assignments[i].score.max) * 100 + + percentScore.toFixed(1) + + + if(percentScore >= 80.0){ + + assignments[i].status = `PASSED: ${percentScore}%` + + }else { + + assignments[i].status = `FAILED: ${percentScore}%` + } + } else { + + assignments[i].status = `SCORE: ${assignments[i].score.received}/${assignments[i].score.max}` + } + + } + + return assignments +} + + + + /** * createLineOrder() @@ -152,7 +255,27 @@ function gradeAssignments(assignments) {} createLineOrder(people); //> [ "Ray Anderson", "America Marsh", "Wade Carson", "Patience Patel" ] */ -function createLineOrder(people) {} +function createLineOrder(people) { + + newLine = [] + + for(let i = 0; i < people.length; i++){ + + if(people[i].hasMembership === true){ + + newline.push(people[i].name) + + }else { + + newLine.push(people[i].name) + + } + + return newLine + } + + +} module.exports = { applyDiscount,