Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"standard.enable": false
"standard.enable": false,
"liveServer.settings.port": 5501
}
66 changes: 53 additions & 13 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,9 @@ function processFirstItem(stringList, callback) {
* [2] Invoking `processLength` passing `[]` and `(num) => "There are " + num`,
* should return "There are 0".
*/
function processLength(/* CODE HERE */) {
function processLength(list, callback) {
/* CODE HERE */
return callback(list.length)
}

/**
Expand All @@ -66,8 +67,9 @@ function processLength(/* CODE HERE */) {
* Invoking `processLastItem` passing `['foo', 'bar']` and `(str) => str + str`,
* should return 'barbar'.
*/
function processLastItem(/* CODE HERE */) {
function processLastItem(stringList, callback) {
/* CODE HERE */
return callback(stringList[stringList.length - 1])
}

/**
Expand All @@ -88,10 +90,12 @@ function processLastItem(/* CODE HERE */) {
* [2] Invoking `processSum` passing `-5`, '-1', and `(num) => num + 1000`,
* should return 994.
*/
function processSum(/* CODE HERE */) {
function processSum(num1, num2, callback) {
/* CODE HERE */
return callback(num1 + num2)
}


/**
* ### Challenge `processProduct`
*
Expand All @@ -110,10 +114,10 @@ function processSum(/* CODE HERE */) {
* [2] Invoking `processProduct` passing 25 and 0 and `(num) => num + 1000`,
* should return 1000.
*/
function processProduct(/* CODE HERE */) {
function processProduct(num1, num2, callback) {
/* CODE HERE */
return callback(num1 * num2)
}

/**
* ### Challenge `processDuplicateFree`
* THIS IS A STRETCH PROBLEM! ATTEMPT ONLY AFTER COMPLETING ALL NON-STRETCH CHALLENGES!
Expand Down Expand Up @@ -155,10 +159,16 @@ 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 stringArray = [];
const lowerCaseArray = strings.forEach(function(string){
stringArray.push(string.toLowerCase())

})
return stringArray;
}


/**
* ### Challenge `isItAnApple`
*
Expand All @@ -174,8 +184,17 @@ function lowerCaseStrings(/* code here */) {
*
* [2] Invoking `isItAnApple` with `['a', 'b', 'c' ]` will return `[ false, false, false ]`.
*/
function isItAnApple(/* code here */) {
function isItAnApple(strings) {
/* code here */
const newArray = [];
strings.map(function(string) {
if (string === "apple"){
newArray.push(true);
} else {
newArray.push(false);
}
})
return newArray
}

/**
Expand All @@ -194,8 +213,12 @@ function isItAnApple(/* code here */) {
*
* [2] Invoking `removeApple` with `['a', 'b', 'c' ]` will return `[ 'a', 'b', 'c' ]`.
*/
function removeApple(/* code here */) {
function removeApple(strings) {
/* code here */
const rmvApple = strings.filter(function(fruit){
return fruit !== "apple"
})
return rmvApple
}

/**
Expand All @@ -213,8 +236,12 @@ function removeApple(/* code here */) {
*
* [2] Invoking `stringSmash` with `['a', 'b', 'c' ]` will return `abc`.
*/
function stringSmash(/* code here */) {
function stringSmash(strings) {
/* code here */
const newString = strings.reduce(function(accumulator, string){
return accumulator + string;
}, "");
return newString
}

// A local community center is holding a fund raising 5k fun run and has invited
Expand All @@ -232,8 +259,13 @@ 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 */) {
function getFullNames(runners) {
/* CODE HERE */
const runnerNames = [];
runners.forEach(function(runners){
return runnerNames.push(`${runners.last_name}, ${runners.first_name}`)
})
return runnerNames
}

/**
Expand All @@ -248,8 +280,12 @@ 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 */) {
function firstNamesAllCaps(runners) {
/* CODE HERE */
const drunkWithPower = runners.map(function(runners){
return runners.first_name.toUpperCase();
})
return drunkWithPower
}

/**
Expand All @@ -266,8 +302,12 @@ 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 */) {
function getRunnersByTShirtSize(runners, tShirtSize) {
/* CODE HERE */
const crazyEventDirector = runners.filter(function(runner){
return runner.shirt_size === tShirtSize
})
return crazyEventDirector
}

/**
Expand Down
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.