diff --git a/exercises/001.js b/exercises/001.js index 962fdaa..be81e1c 100644 --- a/exercises/001.js +++ b/exercises/001.js @@ -24,4 +24,7 @@ function transformFirstAndLast(array) { function transformFirstAndLast(array) { //your code here -} \ No newline at end of file + object ={}; + object[array[0]] = array[array.length - 1]; + return object; +} diff --git a/exercises/002.js b/exercises/002.js index 71af29a..a081c4c 100644 --- a/exercises/002.js +++ b/exercises/002.js @@ -27,4 +27,10 @@ function getAllKeys(obj) { function getAllKeys(obj){ // your code here + var keyArray = []; + for (var item in obj){ + keyArray.push(item); + } + + return keyArray; } diff --git a/exercises/003.js b/exercises/003.js index 8f0a5d4..97127b5 100644 --- a/exercises/003.js +++ b/exercises/003.js @@ -13,7 +13,7 @@ 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: @@ -21,5 +21,9 @@ Starter Code: function fromListToObject(array) { // your code here - + object = {}; + array.forEach(function(element){ + object[element[0]] = element[1]; + }); + return object; } diff --git a/exercises/004.js b/exercises/004.js index caed05d..0e0e66a 100644 --- a/exercises/004.js +++ b/exercises/004.js @@ -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: { @@ -29,5 +29,9 @@ Starter Code function listAllValues(obj) { // your code here - -} \ No newline at end of file + var valueArray = []; + for (var item in obj){ + valueArray.push(obj[item]); + } + return valueArray; +} diff --git a/exercises/005.js b/exercises/005.js index eeccb70..b5a7f95 100644 --- a/exercises/005.js +++ b/exercises/005.js @@ -17,7 +17,7 @@ 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. @@ -26,5 +26,13 @@ Starter Code : function transformEmployeeData(array) { // your code here - + var objectArray = []; + array.forEach (function(outerArray) { + var obj = {}; + outerArray.forEach(function(innerArray) { + obj[innerArray[0]] = innerArray[1]; + }); + objectArray.push(obj); + }); + return objectArray; } diff --git a/exercises/006.js b/exercises/006.js index dca4c27..4b4c560 100644 --- a/exercises/006.js +++ b/exercises/006.js @@ -23,4 +23,9 @@ Starter Code: function convertObjectToList(obj) { // your code here -} \ No newline at end of file + var arrOfArr = []; + for (var x in obj) { + arrOfArr.push([x,obj[x]]); + } + return arrOfArr; +} diff --git a/exercises/007.js b/exercises/007.js index 094e8b5..9354756 100644 --- a/exercises/007.js +++ b/exercises/007.js @@ -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?' @@ -49,8 +49,16 @@ var customerData = { function greetCustomer(firstName) { var greeting = ''; - // your code here + + if (customerData[firstName]) { + if (customerData[firstName].visits == 1) { + greeting = "Welcome back, " + firstName + "! We're glad you liked us the first time!"; + } else { + greeting = "Welcome back, " + firstName + "! So glad to see you again!"; + }; + } else { + greeting = "Welcome! Is this your first time?"; + }; return greeting; } -