Pair programming encouraged
This lab provides an opportunity to practice implementing some real-world functions. If you pair program, we recommend screen sharing and alternating roles as a "driver" and "navigator" after each step.
Please write code that implements various functions, following the requirements in the list below:
- Define a function
maxOfTwoNumbers
that takes two numbers as arguments and returns the largest of them. Use the if-then-else construct available in Javascript. Do some googling to figure this out if you forget how conditionals work. - Define a function
maxOfThree
that takes three numbers as arguments and returns the largest of them. - Write a function
isCharacterAVowel
that takes a character (i.e. a string of length 1) and returns true if it is a vowel, false otherwise. - Define a function
sumArray
and a functionmultiplyArray
that sums and multiplies (respectively) all the numbers in an array of numbers. For example,sumArray([1,2,3,4])
should return 10, andmultiplyArray([1,2,3,4])
should return 24. - Write a function that return the number of arguments passed to the function when called.
- Define a function
reverseString
that computes the reversal of a string. For example, reverseString("jag testar") should return the string "ratset gaj". - Write a function
findLongestWord
that takes an array of words and returns the length of the longest one. - Write a function
filterLongWords
that takes an array of words and a numberi
and returns the array of words that are longer than i characters long.
Bonus
- Add a method
reverseString
(from question 6) to the object String so that it is possible to call:"General Assembly".reverseString()
. - Write a function that takes a string as argument and returns an object where:
- the keys are the characters that occur in the string
- the values are the number of occurences for each letter, regardless of the case
For example, calling the function with the string "General Assembly" will return:
{
a: 2,
b: 1,
e: 3,
g: 1,
l: 2,
m: 1,
n: 1,
r: 1,
s: 2,
y: 1
}
Open the file functions.js
. All the function names are already inside the file, you just need to implement them by adding code inside each one.
Use the Chrome dev tools console to practice executing your code.
Push completed homework up to your fork of this repo.
During the previous exercise, rate your progress on a scale of 1-5 (5 being the highest) for the following criteria:
- Persistence: Do you handle frustration well? Do you independently pursue understanding?
- Organization: Do you thoughtfully implement best coding patterns and practices?
- Collaboration: Do you make an effort solve problems and share your ideas with others?
- Communication: Do you clearly convey your thoughts to others in illustrative and clear ways?
- Self-compassion: Do you make productive use of turning failures into learning opportunities?
- Resourcefulness: Do make an effort to compare and contrast new ideas with ones you already know?