diff --git a/index.js b/index.js index f61169392..833f3628a 100644 --- a/index.js +++ b/index.js @@ -48,8 +48,8 @@ function processFirstItem(stringList, callback) { * [2] Invoking `processLength` passing `[]` and `(num) => "There are " + num`, * should return "There are 0". */ -function processLength(/* CODE HERE */) { - /* CODE HERE */ +function processLength(list,callback) { +return callback(list.length); } /** @@ -66,8 +66,9 @@ function processLength(/* CODE HERE */) { * Invoking `processLastItem` passing `['foo', 'bar']` and `(str) => str + str`, * should return 'barbar'. */ -function processLastItem(/* CODE HERE */) { - /* CODE HERE */ +function processLastItem(stringList,callback) { + const stringNum = stringList.length - 1; + return callback(stringList[stringNum]) } /** @@ -88,8 +89,8 @@ function processLastItem(/* CODE HERE */) { * [2] Invoking `processSum` passing `-5`, '-1', and `(num) => num + 1000`, * should return 994. */ -function processSum(/* CODE HERE */) { - /* CODE HERE */ +function processSum(num1, num2, callback) { + return callback (num1+ num2); } /** @@ -110,8 +111,8 @@ function processSum(/* CODE HERE */) { * [2] Invoking `processProduct` passing 25 and 0 and `(num) => num + 1000`, * should return 1000. */ -function processProduct(/* CODE HERE */) { - /* CODE HERE */ +function processProduct(num1, num2, callback) { +return callback (num1* num2) } /** @@ -155,9 +156,14 @@ function processDuplicateFree(/* CODE HERE ONLY AFTER COMPLETING ALL OTHER TASKS * * [2] Invoking `lowerCaseStrings` with `['a', 'b', 'c' ]` will return `[ 'a', 'b', 'c' ]`. */ -function lowerCaseStrings(/* code here */) { - /* code here */ -} +function lowerCaseStrings(strings,) { +const stringArr = []; + strings.forEach((strings) => { + stringArr.push(strings.toLowerCase()); + }) +return stringArr; +}; + /** * ### Challenge `isItAnApple` @@ -174,10 +180,12 @@ function lowerCaseStrings(/* code here */) { * * [2] Invoking `isItAnApple` with `['a', 'b', 'c' ]` will return `[ false, false, false ]`. */ -function isItAnApple(/* code here */) { - /* code here */ -} +function isItAnApple(strings) { + + return( strings.map(strings => strings === 'apple' ? true : false)) + +} /** * ### Challenge `removeApple` * @@ -194,8 +202,10 @@ function isItAnApple(/* code here */) { * * [2] Invoking `removeApple` with `['a', 'b', 'c' ]` will return `[ 'a', 'b', 'c' ]`. */ -function removeApple(/* code here */) { - /* code here */ +function removeApple(strings) { + + return (strings.filter(string => string !== 'apple') + ) } /** @@ -213,10 +223,11 @@ function removeApple(/* code here */) { * * [2] Invoking `stringSmash` with `['a', 'b', 'c' ]` will return `abc`. */ -function stringSmash(/* code here */) { - /* code here */ +function stringSmash(strings) { +return strings.reduce((string,start)=>{return string += start},[]); } + // A local community center is holding a fund raising 5k fun run and has invited // 50 small businesses to make a small donation on their behalf for some much needed // updates to their facilities. Each business has assigned a representative @@ -232,8 +243,8 @@ function stringSmash(/* code here */) { * @returns an array with all the runners' full names in the following format: "Smith, John". * The full names appear in the array in the same order the runners appear in the `runners` array. */ -function getFullNames(/* CODE HERE */) { - /* CODE HERE */ +function getFullNames(runners) { + return (runners.map(arr => arr.last_name + ', ' + arr.first_name)) } /** @@ -248,8 +259,8 @@ function getFullNames(/* CODE HERE */) { * @returns an array with all the runners' first names in ALL CAPS. * The first names appear in the array in the same order the runners appear in the `runners` array. */ -function firstNamesAllCaps(/* CODE HERE */) { - /* CODE HERE */ +function firstNamesAllCaps(runners) { + return runners.map(names => names.first_name.toUpperCase()) } /** @@ -266,8 +277,8 @@ function firstNamesAllCaps(/* CODE HERE */) { * @returns an array containing only the runners that use the given `tShirtSize`. * The runners in the array appear in the same order they appear in the `runners` array. */ -function getRunnersByTShirtSize(/* CODE HERE */) { - /* CODE HERE */ +function getRunnersByTShirtSize(runners, tShirtSize) { + return (runners.filter(person => person.shirt_size === tShirtSize)) } /**