diff --git a/1-exercises/A-undefined/exercise.js b/1-exercises/A-undefined/exercise.js index 0acfc78d..43202863 100644 --- a/1-exercises/A-undefined/exercise.js +++ b/1-exercises/A-undefined/exercise.js @@ -10,27 +10,26 @@ */ // Example 1 -let a; +let a = 5; console.log(a); - // Example 2 function sayHello() { - let message = "Hello"; + let message = "Hello"; + console.log(message); + return message; } let hello = sayHello(); console.log(hello); - // Example 3 function sayHelloToUser(user) { console.log(`Hello ${user}`); } -sayHelloToUser(); - +sayHelloToUser("Natalie"); // Example 4 -let arr = [1,2,3]; -console.log(arr[3]); +let arr = [1, 2, 3]; +console.log(arr[2]); diff --git a/1-exercises/B-while-loop/exercise.js b/1-exercises/B-while-loop/exercise.js index b459888f..e13474fd 100644 --- a/1-exercises/B-while-loop/exercise.js +++ b/1-exercises/B-while-loop/exercise.js @@ -6,7 +6,12 @@ */ function evenNumbers(n) { - // TODO + // TODO + let i = 0; + while (i < n * 2) { + console.log(i); + i += 2; + } } evenNumbers(3); // should output 0,2,4 diff --git a/1-exercises/C-while-loop-with-array/exercise.js b/1-exercises/C-while-loop-with-array/exercise.js index d584cd75..4a5ee9e6 100644 --- a/1-exercises/C-while-loop-with-array/exercise.js +++ b/1-exercises/C-while-loop-with-array/exercise.js @@ -5,19 +5,24 @@ */ const BIRTHDAYS = [ - "January 7th", - "February 12th", - "April 3rd", - "April 5th", - "May 3rd", - "July 11th", - "July 17th", - "September 28th", - "November 15th" + "January 7th", + "February 12th", + "April 3rd", + "April 5th", + "May 3rd", + "July 11th", + "July 17th", + "September 28th", + "November 15th", ]; function findFirstJulyBDay(birthdays) { - // TODO + let i = 0; + + while (!birthdays[i].includes("July")) { + i++; + } + return birthdays[i]; } console.log(findFirstJulyBDay(BIRTHDAYS)); // should output "July 11th" diff --git a/1-exercises/D-do-while/exercise.js b/1-exercises/D-do-while/exercise.js index f10d0764..1736be89 100644 --- a/1-exercises/D-do-while/exercise.js +++ b/1-exercises/D-do-while/exercise.js @@ -7,9 +7,21 @@ */ function evenNumbersSum(n) { - // TODO + let numbersSum = 0; + let sum = "0"; // for checking + let i = 0; + do { + sum += " + " + i * 2; // for checking + numbersSum = numbersSum + i * 2; // numbersSum += i; + i = i + 1; + } while (i < n); + console.log(sum); // for checking + return numbersSum; } console.log(evenNumbersSum(3)); // should output 6 +// 0 + 2 + 4 = 6 console.log(evenNumbersSum(0)); // should output 0 -console.log(evenNumbersSum(10)); // should output 90 \ No newline at end of file +// 0 +console.log(evenNumbersSum(10)); // should output 90 +// 0 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 diff --git a/1-exercises/E-for-loop/exercise1.js b/1-exercises/E-for-loop/exercise1.js index db5fac64..bab18c8d 100644 --- a/1-exercises/E-for-loop/exercise1.js +++ b/1-exercises/E-for-loop/exercise1.js @@ -4,11 +4,14 @@ Change the while loop below into a for loop. */ - // Change the below code to use a for loop instead of a while loop. -let i = 0; -while(i < 26) { - console.log(String.fromCharCode(97 + i)); - i++; +// let i = 0; +// while(i < 26) { +// console.log(String.fromCharCode(97 + i)); +// i++; +// } + +for (let i = 0; i < 26; i++) { + console.log(String.fromCharCode(97 + i)); } // The output shouldn't change. diff --git a/1-exercises/E-for-loop/exercise2.js b/1-exercises/E-for-loop/exercise2.js index 081002b2..59211466 100644 --- a/1-exercises/E-for-loop/exercise2.js +++ b/1-exercises/E-for-loop/exercise2.js @@ -11,22 +11,18 @@ */ const WRITERS = [ - "Virginia Woolf", - "Zadie Smith", - "Jane Austen", - "Bell Hooks", - "Yukiko Motoya" -] - -const AGES = [ - 59, - 40, - 41, - 63, - 49 + "Virginia Woolf", + "Zadie Smith", + "Jane Austen", + "Bell Hooks", + "Yukiko Motoya", ]; -// TODO - Write for loop code here +const AGES = [59, 40, 41, 63, 49]; + +for (let i = 0; i < AGES.length; i++) { + console.log(WRITERS[i] + " is " + AGES[i] + " years old."); +} /* The output should look something like this: diff --git a/1-exercises/F-for-of-loop/exercise.js b/1-exercises/F-for-of-loop/exercise.js index 65585c6a..051e19e7 100644 --- a/1-exercises/F-for-of-loop/exercise.js +++ b/1-exercises/F-for-of-loop/exercise.js @@ -4,13 +4,20 @@ // TODO Use a for-of loop to output each of the tube stations below. let tubeStations = [ - "Aldgate", - "Baker Street", - "Picadilly Circus", - "Oxford Street", - "Tottenham Court Road" + "Aldgate", + "Baker Street", + "Picadilly Circus", + "Oxford Street", + "Tottenham Court Road", ]; +for (let station of tubeStations) { + console.log(station); +} // TODO Use a for-of loop to capitalise and output each letter in the string seperately. let str = "codeyourfuture"; + +for (let letter of str) { + console.log(letter.toUpperCase()); +} diff --git a/2-mandatory/1-weather-report.js b/2-mandatory/1-weather-report.js index dcc2bdb0..582723d3 100644 --- a/2-mandatory/1-weather-report.js +++ b/2-mandatory/1-weather-report.js @@ -12,52 +12,54 @@ */ function getTemperatureReport(cities) { - // TODO + let myArray = []; + myArray.push(...cities); + let newArray = []; + for (let i = 0; i < myArray.length; i++) { + newArray.push( + `The temperature in ${myArray[i]} is ${temperatureService( + myArray[i] + )} degrees` + ); + } + return newArray; } - /* ======= TESTS - DO NOT MODIFY ===== */ function temperatureService(city) { - let temparatureMap = new Map(); - - temparatureMap.set('London', 10); - temparatureMap.set('Paris', 12); - temparatureMap.set('Barcelona', 17); - temparatureMap.set('Dubai', 27); - temparatureMap.set('Mumbai', 29); - temparatureMap.set('São Paulo', 23); - temparatureMap.set('Lagos', 33); - - return temparatureMap.get(city); + let temparatureMap = new Map(); + + temparatureMap.set("London", 10); + temparatureMap.set("Paris", 12); + temparatureMap.set("Barcelona", 17); + temparatureMap.set("Dubai", 27); + temparatureMap.set("Mumbai", 29); + temparatureMap.set("São Paulo", 23); + temparatureMap.set("Lagos", 33); + + return temparatureMap.get(city); } test("should return a temperature report for the user's cities", () => { - let usersCities = [ - "London", - "Paris", - "São Paulo" - ] - - expect(getTemperatureReport(usersCities)).toEqual([ - "The temperature in London is 10 degrees", - "The temperature in Paris is 12 degrees", - "The temperature in São Paulo is 23 degrees" - ]); + let usersCities = ["London", "Paris", "São Paulo"]; + + expect(getTemperatureReport(usersCities)).toEqual([ + "The temperature in London is 10 degrees", + "The temperature in Paris is 12 degrees", + "The temperature in São Paulo is 23 degrees", + ]); }); test("should return a temperature report for the user's cities (alternate input)", () => { - let usersCities = [ - "Barcelona", - "Dubai" - ] - - expect(getTemperatureReport(usersCities)).toEqual([ - "The temperature in Barcelona is 17 degrees", - "The temperature in Dubai is 27 degrees" - ]); + let usersCities = ["Barcelona", "Dubai"]; + + expect(getTemperatureReport(usersCities)).toEqual([ + "The temperature in Barcelona is 17 degrees", + "The temperature in Dubai is 27 degrees", + ]); }); test("should return an empty array if the user hasn't selected any cities", () => { - expect(getTemperatureReport([])).toEqual([]); -}); \ No newline at end of file + expect(getTemperatureReport([])).toEqual([]); +}); diff --git a/2-mandatory/2-retrying-random-numbers.js b/2-mandatory/2-retrying-random-numbers.js index 10aab37d..50c5ac71 100644 --- a/2-mandatory/2-retrying-random-numbers.js +++ b/2-mandatory/2-retrying-random-numbers.js @@ -5,20 +5,24 @@ // This function shouldn't be changed function generateRandomNumber() { - console.log("Generating number..."); - return Math.round(Math.random() * 100); + console.log("Generating number..."); + return Math.round(Math.random() * 100); } function getRandomNumberGreaterThan50() { - // TODO - implement using a do-while loop + let n; + do { + n = generateRandomNumber(); + } while (n < 50); + return n; } /* ======= TESTS - DO NOT MODIFY ===== */ test("Returned value should always be greater than 50", () => { - expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); - expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); - expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); - expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); - expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); + expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); + expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); + expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); + expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); + expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); }); diff --git a/2-mandatory/3-financial-times.js b/2-mandatory/3-financial-times.js index 2ce6fb73..7be9d8fd 100644 --- a/2-mandatory/3-financial-times.js +++ b/2-mandatory/3-financial-times.js @@ -4,26 +4,70 @@ The home page of the web site has a headline section, which only has space for article titles which are 65 characters or less. Implement the function below, which will return a new array containing only article titles which will fit. */ + +// 1st option how to solve + function potentialHeadlines(allArticleTitles) { - // TODO + let headlines = []; + for (let i = 0; i < allArticleTitles.length; i++) { + if (allArticleTitles[i].length <= 65) { + headlines.push(allArticleTitles[i]); + } + return headlines; } +// 2 option how to solve + +// function potentialHeadlines(allArticleTitles) { +// let headlines = []; + +// for (let article of allArticleTitles) { +// if (article.length <= 65) { +// headlines.push(article); +// } +// return headlines; +// } + + /* The editor of the FT likes short headlines with only a few words! Implement the function below, which returns the title with the fewest words. (you can assume words will always be seperated by a space) */ + +function numberOfWords(title) { + //return the number of words in the title + return title.split(' ').length; +} + + function titleWithFewestWords(allArticleTitles) { - // TODO + let lowestNumberOfWords; + let titleWithFewestWords; + + for(let title of allArticleTitles) { + let numWords = numberOfWords(title); + if(lowestNumberOfWords === undefined || numWords < lowestNumberOfWords) { + lowestNumberOfWords = numWords; + titleWithFewestWords = title; + } + return titleWithFewestWords; + } + //find out number of words + + //if the number of words is < minNumberOfWords, + // then set minNumberOfWords = to the current world + } + /* The editor of the FT has realised that headlines which have numbers in them get more clicks! Implement the function below to return a new array containing all the headlines which contain a number. (Hint: remember that you can also loop through the characters of a string if you need to) */ function headlinesWithNumbers(allArticleTitles) { - // TODO + // TODO } /* @@ -31,51 +75,55 @@ function headlinesWithNumbers(allArticleTitles) { Implement the function below to return this number - rounded to the nearest integer. */ function averageNumberOfCharacters(allArticleTitles) { - // TODO + // TODO } - - /* ======= List of Articles - DO NOT MODIFY ===== */ const ARTICLE_TITLES = [ - "Streaming wars drive media groups to spend more than $100bn on new content", - "Amazon Prime Video India country head: streaming is driving a TV revolution", - "Aerospace chiefs prepare for bumpy ride in recovery of long-haul flights", - "British companies look to muscle in on US retail investing boom", - "Libor to take firm step towards oblivion on New Year's Day", - "Audit profession unattractive to new recruits, says PwC boss", - "Chinese social media users blast Elon Musk over near miss in space", - "Companies raise over $12tn in 'blockbuster' year for global capital markets", - "The three questions that dominate investment", - "Brussels urges Chile's incoming president to endorse EU trade deal", + "Streaming wars drive media groups to spend more than $100bn on new content", + "Amazon Prime Video India country head: streaming is driving a TV revolution", + "Aerospace chiefs prepare for bumpy ride in recovery of long-haul flights", + "British companies look to muscle in on US retail investing boom", + "Libor to take firm step towards oblivion on New Year's Day", + "Audit profession unattractive to new recruits, says PwC boss", + "Chinese social media users blast Elon Musk over near miss in space", + "Companies raise over $12tn in 'blockbuster' year for global capital markets", + "The three questions that dominate investment", + "Brussels urges Chile's incoming president to endorse EU trade deal", ]; /* ======= TESTS - DO NOT MODIFY ===== */ test("should only return potential headlines", () => { - expect(new Set(potentialHeadlines(ARTICLE_TITLES))).toEqual(new Set([ - "British companies look to muscle in on US retail investing boom", - "Libor to take firm step towards oblivion on New Year's Day", - "Audit profession unattractive to new recruits, says PwC boss", - "The three questions that dominate investment" - ])); + expect(new Set(potentialHeadlines(ARTICLE_TITLES))).toEqual( + new Set([ + "British companies look to muscle in on US retail investing boom", + "Libor to take firm step towards oblivion on New Year's Day", + "Audit profession unattractive to new recruits, says PwC boss", + "The three questions that dominate investment", + ]) + ); }); test("should return an empty array for empty input", () => { - expect(potentialHeadlines([])).toEqual([]); + expect(potentialHeadlines([])).toEqual([]); }); test("should return the title with the fewest words", () => { - expect(titleWithFewestWords(ARTICLE_TITLES)).toEqual("The three questions that dominate investment"); + expect(titleWithFewestWords(ARTICLE_TITLES)).toEqual( + "The three questions that dominate investment" + ); }); test("should only return headlines containing numbers", () => { - expect(new Set(headlinesWithNumbers(ARTICLE_TITLES))).toEqual(new Set([ - "Streaming wars drive media groups to spend more than $100bn on new content", - "Companies raise over $12tn in 'blockbuster' year for global capital markets" - ])); + expect(new Set(headlinesWithNumbers(ARTICLE_TITLES))).toEqual( + new Set([ + "Streaming wars drive media groups to spend more than $100bn on new content", + "Companies raise over $12tn in 'blockbuster' year for global capital markets", + ]) + ); }); test("should return the average number of characters in a headline", () => { - expect(averageNumberOfCharacters(ARTICLE_TITLES)).toEqual(65); + expect(averageNumberOfCharacters(ARTICLE_TITLES)).toEqual(65); }); diff --git a/2-mandatory/4-stocks.js b/2-mandatory/4-stocks.js index 72d62f94..cd2e5d8b 100644 --- a/2-mandatory/4-stocks.js +++ b/2-mandatory/4-stocks.js @@ -11,13 +11,15 @@ const STOCKS = ["aapl", "msft", "amzn", "googl", "tsla"]; const CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS = [ - [179.19, 180.33, 176.28, 175.64, 172.99], // AAPL - [340.69, 342.45, 334.69, 333.20, 327.29], // MSFT - [3384.44, 3393.39, 3421.37, 3420.74, 3408.34], // AMZN - [2951.88, 2958.13, 2938.33, 2928.30, 2869.45], // GOOGL - [1101.30, 1093.94, 1067.00, 1008.87, 938.53] // TSLA + [179.19, 180.33, 176.28, 175.64, 172.99], // AAPL + [340.69, 342.45, 334.69, 333.2, 327.29], // MSFT + [3384.44, 3393.39, 3421.37, 3420.74, 3408.34], // AMZN + [2951.88, 2958.13, 2938.33, 2928.3, 2869.45], // GOOGL + [1101.3, 1093.94, 1067.0, 1008.87, 938.53], // TSLA ]; +// console.log(changeInPrices(closingPricesLast5Days)); + /* We want to understand what the average price over the last 5 days for each stock is. Implement the below function, which @@ -34,7 +36,14 @@ const CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS = [ Functions can help with this! */ function getAveragePrices(closingPricesForAllStocks) { - // TODO + let sum = + closingPricesForAllStocks[0] + + closingPricesForAllStocks[1] + + closingPricesForAllStocks[2] + + closingPricesForAllStocks[3] + + closingPricesForAllStocks[4]; + let average = sum / 5; + return Math.round(average * 100) / 100; } /* @@ -48,7 +57,14 @@ function getAveragePrices(closingPricesForAllStocks) { The price change value should be rounded to 2 decimal places, and should be a number (not a string) */ function getPriceChanges(closingPricesForAllStocks) { - // TODO + let changes = []; // [1, 2 , 3] + + for (let pricesForOneStock of closingPricesForAllStocks) { + let change = getAveragePrices(pricesForOneStock); + changes.push(change); + } + + return changes; } /* @@ -65,30 +81,39 @@ function getPriceChanges(closingPricesForAllStocks) { */ function highestPriceDescriptions(closingPricesForAllStocks, stocks) { // TODO -} - + let arr = []; + for (let i = 0; i < closingPricesForAllStocks.length; i++) { + arr.push( + `The highest price of ${stocks[ + i + ].toUpperCase()} in the last 5 days was ${Math.max( + ...closingPricesForAllStocks[i] + ).toFixed(2)}` + ); + } + return arr; /* ======= TESTS - DO NOT MODIFY ===== */ test("should return the average price for each stock", () => { - expect(getAveragePrices(CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS)).toEqual( - [176.89, 335.66, 3405.66, 2929.22, 1041.93] - ); + expect(getAveragePrices(CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS)).toEqual([ + 176.89, 335.66, 3405.66, 2929.22, 1041.93, + ]); }); test("should return the price change for each stock", () => { - expect(getPriceChanges(CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS)).toEqual( - [-6.2, -13.4, 23.9, -82.43, -162.77] - ); + expect(getPriceChanges(CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS)).toEqual([ + -6.2, -13.4, 23.9, -82.43, -162.77, + ]); }); test("should return a description of the highest price for each stock", () => { - expect(highestPriceDescriptions(CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS, STOCKS)).toEqual( - [ - "The highest price of AAPL in the last 5 days was 180.33", - "The highest price of MSFT in the last 5 days was 342.45", - "The highest price of AMZN in the last 5 days was 3421.37", - "The highest price of GOOGL in the last 5 days was 2958.13", - "The highest price of TSLA in the last 5 days was 1101.30" - ] - ); + expect( + highestPriceDescriptions(CLOSING_PRICES_LAST_5_DAYS_FOR_ALL_STOCKS, STOCKS) + ).toEqual([ + "The highest price of AAPL in the last 5 days was 180.33", + "The highest price of MSFT in the last 5 days was 342.45", + "The highest price of AMZN in the last 5 days was 3421.37", + "The highest price of GOOGL in the last 5 days was 2958.13", + "The highest price of TSLA in the last 5 days was 1101.30", + ]); }); diff --git a/lesson-3.js b/lesson-3.js new file mode 100644 index 00000000..38f72c08 --- /dev/null +++ b/lesson-3.js @@ -0,0 +1,181 @@ +// console.log("Exercise 1"); + +// function sumTo(n) { +// let sum = 0; + +// let i = 0; + +// while (i <= n) { +// sum = sum + i; +// i++; // i = i + 1; +// } +// return sum; +// } + +// console.log(sumTo(3)); + +// console.log("Exercise 2"); + +// function showStocks(stocks) { +// if(stocks.length === 0) { +// console.log("Empty Portfolio"); +// } else { +// let i = 0; +// while(i <= stocks.length) { +// console.log(stocks[i]); +// i++; +// } +// } +// // let i = 0; +// // console.log(stocks.length); +// // while (stocks.length > i) { +// // i++; +// // console.log|(i) +// // console.log(stocks[i].charAt(0)); +// // } +// } +// let stocks = ["aapl", "msft", "amzn", "googl", "tsla"]; +// showStocks(stocks); + +// console.log("Exercise 3"); + +// function sumTo(n) { +// let sum = 0; +// for (let i = 0; i <= n; i++) { +// sum = sum + i; +// } +// return sum; +// } + +// console.log(sumTo(3)); + +// console.log("Exercise 4"); +// function showStocks(stocks) { +// if (stocks.length === 0) { +// console.log("Empty Portfolio"); +// } +// for (let i = 0; i < stocks.length; i++) { +// console.log(stocks[i]); +// } +// } + +// let stocks = ["aapl", "msft", "amzn", "googl", "tsla"]; +// showStocks(stocks); + +// console.log("Exercise 5 - for/of loops (cont.)"); + +// // let colours = ["red", "green", "blue"]; + +// // for (let colour of colours) { +// // console.log(colour); +// // } + +// function showStocks(stocks) { +// if (stocks.length === 0) { +// console.log("Empty Portfolio"); +// } +// for (let stock of stocks) { +// console.log(stock); +// } +// } + +// let stocks = ["aapl", "msft", "amzn", "googl", "tsla"]; +// showStocks(stocks); + +// console.log("Exercise 6"); + +// const closingPricesLast5Days = [ +// [179.19, 180.33, 176.28, 175.64, 172.99], // AAPL +// [340.69, 342.45, 334.69, 333.2, 327.29], // MSFT +// [3384.44, 3393.39, 3421.37, 3420.74, 3408.34], // AMZN +// [2951.88, 2958.13, 2938.33, 2928.3, 2869.45], // GOOGL +// [1101.3, 1093.94, 1067.0, 1008.87, 938.53], // TSLA +// ]; + +// function calculateChange(prices) { +// let lastIndex = prices.length - 1; +// let difference = prices[lastIndex] - prices[0]; +// return Math.round(difference * 100) / 100; +// } + +// // console.log(calculateChange(closingPricesLast5Days[0])); + +// function changeInPrices(closingPrices) { +// let changes = []; // [1, 2 , 3] + +// for (let pricesForOneStock of closingPrices) { +// let change = calculateChange(pricesForOneStock); +// changes.push(change); +// } + +// return changes; +// } + +// console.log(changeInPrices(closingPricesLast5Days)); + +// console.log("Exercise 8"); + +// // Imagine you have a ToDo list which you are planning to do in order. Use +// // the methods we’ve looked at to manipulate the list. +// // let todo = ["order dog food", "do the dishes"]; +// // ● Add a new item - "clean bedroom" - to the end of the list as it’s not +// // that important +// // ● Now add "pay council tax" to the beginning of the list, as we need to +// // do this soon! +// // ● After this, we realise we have enough dog food - so remove "order +// // dog food" from the array +// // ● We’ve just done the dishes, but now we need to take out the +// // garbage, so replace "do the dishes" with "take out garbage" + +// let toDo = ["order dog food", "do the dishes"]; +// toDo.push("clean bedroom"); +// toDo.unshift("pay council tax"); +// toDo.splice(1, 1); +// toDo.splice(1, 1, "take out garbage"); + +// console.log(toDo); + +// console.log("Exercise 9"); + +// // Let’s get some practice using splice(). +// let fruits = ["orange", "apple", "banana"]; +// // ● Can you replace “apple” with both “kiwi” and “mango”? +// // ● Can you use splice to replicate the behaviour of +// // unshift, by adding “peach” to the beginning of the +// // array? +// fruits.splice(1, 1, "kiwi", "mango"); +// fruits.splice(0, 0, "peach"); +// console.log(fruits); + +// console.log("Exercise 10"); + +// // Create an array of the people sitting around you +// // ● console.log the names in alphabetical order +// // ● Create a function that takes a name and an array of +// // names as parameters. +// // ○ If the name is not in the array, it should return “ is not sitting +// // at the table with ” +// // ○ If the name is in the array, it should return “ is sitting at the +// // table with ” +// // ○ Output as a comma-separated string + +// let namesList = ["Oleh", "Natalie", "Ebrahim", "Zahra"]; + +// function checkNames(name, namesList) { +// if (namesList.includes(name) === false) { +// return name + " is not sitting at the table with " + namesList.sort(); +// } else { +// return name + " is sitting at the table with " + namesList.sort(); +// } +// } + +// console.log(namesList.sort()); +// console.log(checkNames("Irina", namesList)); + +var summation = function (num) { + for (let i = 0; i < 5; i++) { + return summation + i; + } +}; + +console.log(function(4));