-
-
Save rexfordkelly-at-makersquare/73e97a4a40780bc746ca89a83d279467 to your computer and use it in GitHub Desktop.
Nate Hart's Checkpoint 1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*Write a function average that takes two numbers as input (parameters), | |
and returns the average of those numbers.*/ | |
function average(num1, num2) { // Good Job! | |
return (num1 + num2) / 2; | |
} | |
/*Write a function greeter that takes a name as an argument and greets | |
that name by returning something along the lines of "Hello, <name>!"*/ | |
function greeter(name) { // Good Job! | |
return "Well hello there, " + name; | |
} | |
/*Write the following functions that each accept a single number as an argument: | |
even: returns true if its argument is even, and false otherwise. | |
odd: the opposite of the above. | |
positive: returns true if its argument is positive, and false otherwise. | |
negative: the opposite of the above. | |
*/ | |
function even(n) { // Good Job! | |
return n % 2 === 0; | |
} | |
function odd(n) { // Good Job! | |
return n % 2 !== 0; | |
} | |
function positive(n) { // Good Job! | |
return n > 0; | |
} | |
function negative(n) { // Good Job! | |
return n < 0; | |
} | |
/*Write a function sayHello that takes a language parameter, and returns "hello" | |
in that language. Make the function work with at least three languages.*/ | |
function sayHello(lang) { // Good Job! | |
lang = lang.toLowerCase(); | |
if (lang === "spanish") | |
return "hola"; | |
if (lang === "french") | |
return "bonjour"; | |
if (lang === "hebrew") | |
return "shalom"; | |
return "I don't speak " + lang; | |
} | |
/*Write a function validCredentials that accepts two parameters: username and | |
password, and returns true if both are long enough, and false otherwise. You can | |
decide what constitutes "long enough".*/ | |
function validCredentials(username, password) { // Good Job! | |
minUserNameLength = 6; | |
minPasswordLength = 8; | |
return username.length >= minUserNameLength && password.length >= minPasswordLength; | |
} | |
/*Repeating a String n Times: Let's write a function called repeatString that takes | |
two parameters: a string str, which is the string to be repeated, and count -- a | |
number representing how many times the string str should be repeated, e.g. | |
repeatString('dog', 0); // => '' | |
repeatString('dog', 1); // => 'dog' | |
repeatString('dog', 2); // => 'dog' + 'dog' => 'dogdog' | |
repeatString('dog', 3); // => 'dog' + 'dog' + 'dog' => 'dogdogdog' | |
*/ | |
function repeatString(str, count) { // Good Job! | |
var newStr = ""; | |
for (var i = 0; i < count; i++) { | |
newStr = newStr + str; | |
} | |
return newStr; | |
} | |
/*Write a function called average that takes an array of numbers as a parameter | |
and returns the average of those numbers.*/ | |
function average(arr) { // Good Job! | |
var sum = 0; | |
for (var i = 0; i < arr.length; i++) { | |
sum += arr[i]; | |
} | |
return sum / arr.length; | |
} | |
/*Write a function countWords that, when given a string as an argument, returns | |
an object where keys are the words in the string, and values are the number of | |
occurrences of that word within the string:*/ | |
function countWords(str) { // Good Job! | |
str = str.toLowerCase() | |
var arr = str.split(" "); | |
var wordObj = {}; | |
for (var i = 0; i < arr.length; i++) { | |
if (wordObj[arr[i]] === undefined) | |
wordObj[arr[i]] = 0; | |
wordObj[arr[i]]++ | |
} | |
return wordObj; | |
} | |
countWords("hello hello"); // => {"hello": 2} | |
countWords("Hello hello"); // => {"Hello": 1, "hello": 1} | |
countWords("The quick brown"); // => {"The": 1, "quick": 1, "brown": 1} | |
/*HINT: You will want to make use of the string method split. Try \"Hello hello".split(" ") | |
at a console to see how it works. | |
Modify countWords to be case insensitive by using the following string method | |
(experiment at a console with it to learn its behavior):*/ | |
"HElLo".toLowerCase(); // => hello | |
//BONUS | |
/*Read about the join method on MDN and use it to implement a function that | |
accepts a string as an argument and returns that string reversed.*/ | |
function reverse(str) { // Good Job! | |
var arr = str.split(""); | |
var newArr = []; | |
for (var i = 0; i < arr.length; i++) { | |
newArr[i] = arr[arr.length - i - 1]; | |
} | |
return newArr.join(""); | |
} | |
/*The function Object.keys returns an array of an object's keys. Experiment with it at | |
the console like this:*/ | |
Object.keys({a: 1, b: 2}); | |
/*Using this property, write versions of the above functions using repetition through | |
function invocation (i.e. recursion)*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment