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
6 changes: 4 additions & 2 deletions exercises/001.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,7 @@ function transformFirstAndLast(array) {
*/

function transformFirstAndLast(array) {
//your code here
}
var obj = {};
obj[array[0]] = array[array.length - 1];
return obj;
}
10 changes: 8 additions & 2 deletions exercises/002.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ function getAllKeys(obj) {
}
*/

function getAllKeys(obj){
// your code here
function getAllKeys(obj) {
var ret = [];

for (key in obj) {
ret.push(key);
}

return ret;
}
10 changes: 8 additions & 2 deletions exercises/003.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,19 @@ Function's return value (output):

Do not change the input string. Assume that all elements in the array will be of type 'string'.

Note that the input may have a different number of elements than the given sample.
Note that the input may have a different number of elements than the given sample.
For instance, if the input had 6 values instead of 4, your code should flexibly accommodate that.

Starter Code:
*/

function fromListToObject(array) {
// your code here
var ret = {};

for(i = 0; i < array.length; i++)
{
ret[array[i][0]] = array[i][1];
}

return ret;
}
12 changes: 9 additions & 3 deletions exercises/004.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Example input:
Function's return value (output):
['Krysten', 33, false]

Note that the input may have a different number of keys and values than the given sample.
Note that the input may have a different number of keys and values than the given sample.

E.g. it should also handle an input like:
{
Expand All @@ -28,6 +28,12 @@ Starter Code
*/

function listAllValues(obj) {
// your code here
var ret = [];

}
for(key in obj)
{
ret.push(obj[key]);
}

return ret;
}
17 changes: 15 additions & 2 deletions exercises/005.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,27 @@ Given that input, the return value should look like this:
{firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}
]

Note that the input may have a different number of rows or different keys than the given sample.
Note that the input may have a different number of rows or different keys than the given sample.

For example, let's say the HR department adds a "tshirtSize" field to each employee record. Your code should flexibly accommodate that.

Starter Code :
*/

function transformEmployeeData(array) {
// your code here
var ret = [];

for(i = 0; i < array.length; i++)
{
var newObj = {};

for(j = 0; j < array[i].length; j++)
{
newObj[array[i][j][0]] = array[i][j][1];
}

ret.push(newObj);
}

return ret;
}
11 changes: 9 additions & 2 deletions exercises/006.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,12 @@ Starter Code:
*/

function convertObjectToList(obj) {
// your code here
}
var ret = [];

for(key in obj)
{
ret.push([key, obj[key]]);
}

return ret;
}
17 changes: 12 additions & 5 deletions exercises/007.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*
Write a function called "greetCustomer".

Given a name, "greetCustomer" returns a greeting based on how many times that customer has visited the restaurant. Please refer to the customerData object.
Given a name, "greetCustomer" returns a greeting based on how many times that customer has visited the restaurant. Please refer to the customerData object.

The greeting should be different, depending on the name on their reservation.

Case 1 - Unknown customer ( Name is not present in customerData ):
Case 1 - Unknown customer ( Name is not present in customerData ):

var output = greetCustomer('Terrance');
console.log(output); // --> 'Welcome! Is this your first time?'
Expand Down Expand Up @@ -48,9 +48,16 @@ var customerData = {
};

function greetCustomer(firstName) {
var greeting = '';
// your code here
var greeting = 'Welcome! Is this your first time?';

if (firstName in customerData) {
if (customerData[firstName].visits == 1) {
greeting = "Welcome back, " + firstName + "! We're glad you liked us the first time!";
}
else if (customerData[firstName].visits > 1) {
greeting = "Welcome back, " + firstName + "! So glad to see you again!";
}
}

return greeting;
}