From ec3a0b934b639a25f343cc33d0503efdccbbc6aa Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 28 Feb 2020 20:33:16 +0200 Subject: [PATCH 01/21] adding session-16 arrays --- coursebook/session-16/README.md | 11 ++ coursebook/session-16/array-methods.md | 147 +++++++++++++++ coursebook/session-16/arrays.md | 106 +++++++++++ coursebook/session-16/homework.md | 13 ++ coursebook/session-16/learning-outcomes.md | 17 ++ coursebook/session-16/loops.md | 205 +++++++++++++++++++++ 6 files changed, 499 insertions(+) create mode 100644 coursebook/session-16/array-methods.md create mode 100644 coursebook/session-16/arrays.md create mode 100644 coursebook/session-16/homework.md create mode 100644 coursebook/session-16/learning-outcomes.md create mode 100644 coursebook/session-16/loops.md diff --git a/coursebook/session-16/README.md b/coursebook/session-16/README.md index e69de29b..7bb66099 100644 --- a/coursebook/session-16/README.md +++ b/coursebook/session-16/README.md @@ -0,0 +1,11 @@ +# Arrays + +### [Learning Outcomes](./learning-outcomes.md) + +## Schechule + +- 11:00 - 12:30 | [Arrays](./arrays.md) +- 12:30 - 12:45 | BREAK +- 12:50 - 14:00 | [Array Methods](./array-methods.md) + +--- \ No newline at end of file diff --git a/coursebook/session-16/array-methods.md b/coursebook/session-16/array-methods.md new file mode 100644 index 00000000..c29a7a19 --- /dev/null +++ b/coursebook/session-16/array-methods.md @@ -0,0 +1,147 @@ +# Array Methods + +**Author**: [@alaa-yasin](https://github.com/alaa-yasin) + +## Arrays have a good number of [methods](https://www.w3schools.com/jsref/jsref_obj_array.asp) such as _forEach()_, _map()_, _filter()_, _reduce()_, _sort()_, ..._etc_ + +- #### What can you see after each method's name? +- #### What does that mean? +- #### What do you think the output will be if we don't write them? +``` +[1,2,3].forEach; // ? +['Alaa', 'Islam', 'Aya'].map; //? +``` +# So, what are methods? +### Methods are built-in or user-defined functions used in different cases. + +## Built-in methods vs user-defined methods + +### _Built-in method_ is any function that is provided by any language library. such as: +``` +[2, 3, 4].forEach(); +[1, 2, true, 'Alaa].map(); +``` +### Whereas, _user-defined mthods are functions defined by users themselves in order to have their work done. such as: + +```js +const array = []; +array.foo = function(num) { + return num * 3; +}; +array.foo(3); //returns ?? +``` + +## As we learned before, we can access arrays' elements by their index. +```js +const numbers = [1, 2, 3]; +numbers[0]; // 1 +numbers[1]; //2 +numbers[2]; //3 +``` + +### So, what if I have an array of 100 elements, and I want to _console.log_ everything in this array? +### Is it logical to access each element as this? +```js +const cities = ['Gaza', 'Ramallah', ...etc] +cities[0]; +cities[1]; +... +... +... +cities[99]; +``` +## That is why methods are created :wink + +1. ## Array.forEach() +```js +cities.forEach(function(city) { + console.log(city); +}); // Gaza, Ramallah ,...etc +``` +### So, [forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) is a function that executes a provided function once for each array element in ascending order. +### forEach() method returns 'undefined'. It doesn't change the original array. + +2. ## Array.map() + +```js +const cities = ['gaza', 'ramallah'] +cities.map(function(city) { + return city[0].toUpperCase() + city.slice(1); +}); // ['Gaza', 'Ramallah'] +``` + +### So. [map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) is a function that creates a new array populated with the results of executing a provided function on every array element. +### map() method returns a new array with the same number of the original array elements. It doesn't change the original array. + +3. ## Array.filter() +```js +const ages = [15, 34, 54, 46, 10, 4, 5]; +ages.filter(function(age) { + return age < 18; +}); // [15, 10, 4, 5] +``` +### So, [filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) is a function that creates a new array with all elements that pass the test implemented by the provided function. +### filter() method returns a new array with a different number of the original array elements. It doesn't change the original array. + +4. ## Array.reduce() +```js +const numbers = [1,2,3,4]; +const initialValue = 0; +numbers.reduce(function(accumulator,currentValue) { + return accumulator + currentValue; +}, initialValue); // 10 +``` +### Let's split it: +```js +The first iteration: +accumulator = initialValue = 0 +currentValue = first element = 1 +first iteration output = 0 + 1 = 1 +``` +```js +The second iteration: +accumulator = first iteration output = 1 +currentValue = second element = 2 +second iteration output = 1 + 2 = 3 +``` +```js +The third iteration: +accumulator = second iteration output = 3 +currentValue = third element = 3 +third iteration output = 3 + 3 = 6 +``` +```js +The last iteration: +accumulator = third iteration output = 6 +currentValue = last element = 4 +last iteration output = 6 + 4 = 10 +``` +```js +So, The output value = 10 +``` +### So, [reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) is a function that executes a reducer function (that you provide) on each element of the array, resulting in a single output value. +### reduce() method returns a single output value. It doesn't change the original array. + +5. ## Array.sort() +#### To sort strings: +```js +const letters = ['a', 'c', 'd', 'b', 'e', 'f']; + +letters.sort(); // ["a", "b", "c", "d", "e", "f"] +``` +#### To sort numbers in ascending order: +```js +const numbers = [4, 2, 5, 1, 3]; +numbers.sort(function(a, b) { + return a - b; +}); // [1, 2, 3, 4, 5] +``` +#### To sort numbers in descending order: +```js +const numbers = [4, 2, 5, 1, 3]; +numbers.sort(function(a, b) { + return b - a; +}); // [5, 4, 3, 2, 1] +``` +### So, [sort()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) is a function that sorts array elements in place and returns the sorted array. +### sort() method returns a sorted array. It doesn't return a new array; it changes the positions of the elements in the original array. \ No newline at end of file diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md new file mode 100644 index 00000000..574bcca0 --- /dev/null +++ b/coursebook/session-16/arrays.md @@ -0,0 +1,106 @@ +## Arrays + +**Author**: [@Fatmasiam](https://github.com/Fatmasiam) + +--- + + - [Arrays](#arrays) + - [Array Declaration](#array-declaration) + - [Manipulate Arrays](#manipulate-array) + - [Loops](./loops.md) + +## Arrays : + Objects allow you to store keyed collections of values. That’s fine. + + But quite often we find that we need an ordered collection, where we have a 1st, a 2nd, a 3rd element and so on. + For example, we need that to store a list of something: users, goods, HTML elements etc. + + It is not convenient to use an object here, because it provides no methods to manage the order of elements. We can’t insert a new property “between” the existing ones. Objects are just not meant for such use. + + There exists a special data structure named Array, to store ordered collections. + +#### What is **ARRAYS** means : + **Arrays** : Are single variables used to store ordered and different kind of elements(collections). + + _SO_ : the array variable can hold more than one value at a time. + + + +## Array Declaration : + We have two ways to create(declare) empty array + ```js + 1- let arr = new Array(); + // return arr = [] + 2- let arr = []; +``` + Almost all the time, the second syntax is used. and **W**e can supply initial elements in the brackets: + ```js + let colors = ['red', 'yellow', 'green', 'blue']; + console.log(colors); + // ['red', 'yellow', 'green', 'blue'] + ``` + +### **Array elements are numbered, starting with zero. [This thing called indexing]** + + * We can get an element by its number in square brackets: + +```js + 0 1 2 + let colors = ['Red', 'Yellow', 'Green']; + + alert( fruits[0] ); // Red + alert( fruits[1] ); // Yellow + alert( fruits[2] ); // Green +``` + * We can replace an element: + +```js + 0 1 2 + colors[2] = 'Blue'; // now ['Red', 'Yellow', 'Blue'] + +``` + * …Or add a new one to the array: + + +```js + 0 1 2 3 + colors[3] = 'Pink'; // now ['Red', 'Yellow', 'Blue', 'Pink'] + +``` +> The total count of the elements in the array is its `length`: + + +```js +console.log(colors.length); +// 4 +``` +### The **A**rray can store elements of any type. + + * For Example: + +```js +// mix of values +let arr = [ 'Apple', { name: 'Fatma' }, true, function() { console.log('hello'); } ]; + +// get the object at index 1 and then show its name +console.log( arr[1].name ); // John + +// get the function at index 3 and run it +arr[3](); // hello + +``` + + +## Manipulate Arrays : + - arrays are mutable + **So** array state can be modified after it is created. let's see the following example: + +```js + let arr = ["Fatma", "Ala'a"]; + arr[2]= "Sama" + arr // ["Fatma", "Ala'a", "Sama"] +``` + +-- Additional resources : + * [arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) + * [Indexed collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections) diff --git a/coursebook/session-16/homework.md b/coursebook/session-16/homework.md new file mode 100644 index 00000000..d35d30b4 --- /dev/null +++ b/coursebook/session-16/homework.md @@ -0,0 +1,13 @@ +# Homework + + +### Your homework for Arrays session is to write a calculator function that takes at least three parameters and does some mathematical operations: +```js +function calculator([num, op, num, op, num,]) { + // Your Code goes here +}; + +calculator([2, '+' , 4]); // 2 + 4 = 6 +calculator([2, '+', 4, '-', 1, '*', 3 ]) // 2 + 4 - (1 * 3) = 3 +``` +### Feel free to rename the function and parameters as you like. \ No newline at end of file diff --git a/coursebook/session-16/learning-outcomes.md b/coursebook/session-16/learning-outcomes.md new file mode 100644 index 00000000..f20505c1 --- /dev/null +++ b/coursebook/session-16/learning-outcomes.md @@ -0,0 +1,17 @@ +# Learning Outcomes + +- know and understand Arrays in js: + - Create an Array. + - Array length [how many items on it] + - Access (index into) an Array item. + - Loop over an array by indexes. + +- know and understand some Arrays method: + - map, forEach, reduce, filter, sort, pop, push + + + + + + + diff --git a/coursebook/session-16/loops.md b/coursebook/session-16/loops.md new file mode 100644 index 00000000..b801f653 --- /dev/null +++ b/coursebook/session-16/loops.md @@ -0,0 +1,205 @@ +## Loops: while and for + +**Author**: [@Fatmasiam](https://github.com/Fatmasiam) +---- + + >Loops are handy, if you want to run the same code over and over again, each time with a different value. +We often need to repeat actions. +For example, outputting goods from a list one after another or just running the same code for each number from 1 to 10. +Loops are a way to repeat the same code multiple times. + +## The **“while”** loop: +### The `while` loop has the following syntax: + ```js + while (condition) { + // code + // so-called "loop body" +} + ``` +While the `condition` is truthy, the code from the `loop` body is executed. + +For instance, the loop below outputs i while i < 3: + +```js +let i = 0; +while (i < 3) { // shows 0, then 1, then 2 + console.log( i ); + i++; +} +``` + +A single execution of the loop body is called an _iteration_. The **loop** in the example above makes three _iterations_. + +If `i++` was missing from the example above, the loop would repeat (in theory) forever. +In practice, the browser provides ways to stop such loops, and in server-side JavaScript, we can kill the process. + +Any expression or variable can be a loop condition, not just comparisons: +the condition is evaluated and converted to a boolean by `while`. + +For instance, a shorter way to write `while (i != 0)` is `while (i)`: + +```js +let i = 3; +while (i) { // when i becomes 0, the condition becomes falsy, and the loop stops + alert( i ); + i--; +} +``` +### **NOTE** :100: +```js + /* Curly braces are not required for a single-line body. + If the loop body has a single statement, we can omit the curly braces {…}:*/ + + let i = 3; + while (i) alert(i--); + +``` + + +## The **“do…while”** loop +The condition check can be moved below the loop body using the `do..while` syntax: + +```js +do { + // loop body +} while (condition); + +``` +The loop will first execute the body, then check the condition, and, while it’s truthy, execute it again and again. + +**For example:** + +```js +let i = 0; +do { + alert( i ); + i++; +} while (i < 3); + +``` +This form of syntax should only be used when you want the body of the loop to execute at least once regardless of the condition being truthy. Usually, the other form is preferred: while(…) {…}. + +## The **“for”** loop + The for loop is more complex, but it’s also the most commonly used loop. + +### It looks like this: +```js +for (begin; condition; step) { + // ... loop body ... +} +``` + +Let’s learn the meaning of these parts by example. The loop below runs `console.log(i);` for `i` from `0` up to (but not including) `3`: + +```js +for (let i = 0; i < 3; i++) { // shows 0, then 1, then 2 + console.log(i); +} + +``` +### Let’s examine the `for` statement part-by-part: + +---- + +| part | | | +| -------- | -------- | -------- | +| begin | `i = 0` | Executes once upon entering the loop. | +| condition | `i < 3 ` | Checked before every loop iteration. If false, the loop stops. | +| body | `console.log( i )` | Runs again and again while the condition is truthy.| +| step | `i ++ ` | Executes after the body on each iteration. | + + +### The general loop algorithm works like this: + +```js +Run begin +→ (if condition → run body and run step) +→ (if condition → run body and run step) +→ (if condition → run body and run step) +→ ... +``` + +That is, **begin** executes once, and then it iterates: after each **condition** test, **body** and **step** are executed. + +If you are new to loops, it could help to go back to the example and reproduce how it runs step-by-step on a piece of paper. + +Here’s exactly what happens in our case: + +```js +// for (let i = 0; i < 3; i++) console.log(i) + +// run begin +let i = 0 +// if condition → run body and run step +if (i < 3) { console.log(i); i++ } +// if condition → run body and run step +if (i < 3) { console.log(i); i++ } +// if condition → run body and run step +if (i < 3) { console.log(i); i++ } +// ...finish, because now i == 3 + +``` + +## Breaking the loop + +#### Normally, a loop exits when its condition becomes falsy. + +#### But we can force the exit at any time using the special break directive. + +#### For example, the loop below asks the user for a series of numbers, `“breaking”` when no number is entered: + +```js +let sum = 0; + +while (true) { + + let value = +prompt("Enter a number", ''); + + if (!value) break; // (*) + + sum += value; + +} +console.log( 'Sum: ' + sum ); +``` + +The **`break`** directive is activated at the line **`(*)`** if the user enters an empty line or cancels the input. It stops the loop immediately, passing control to the first line after the loop. Namely, alert. + +The combination “infinite **`loop`** + break as needed” is great for situations when a loop’s condition must be checked not in the beginning or end of the loop, but in the middle or even in several places of its body. + +## Continue to the next iteration + +The **`continue`** directive is a “lighter version” of **break**. It doesn’t stop the whole loop. Instead, it stops the current iteration and forces the loop to start a new one (if the condition allows). + +We can use it if we’re done with the current iteration and would like to move on to the next one. + +The loop below uses **`continue`** to output only odd values: + +```js +for (let i = 0; i < 10; i++) { + + // if true, skip the remaining part of the body + if (i % 2 == 0) continue; + + console.log(i); // 1, then 3, 5, 7, 9 +} +``` + +#### For even values of `i`, the `continue` directive stops executing the body and passes control to the next iteration of `for` (with the next number). So the `console.log(i)` is only called for odd values. + + +# Summary +### We covered 3 types of loops: + +* `while` – The condition is checked before each iteration. +* `do..while` – The condition is checked after each iteration. +* `for (;;)` – The condition is checked before each iteration, additional settings available. +* +To make an “infinite” loop, usually the `while(true)` construct is used. Such a loop, just like any other, can be stopped with the `break` directive. + +If we don’t want to do anything in the current iteration and would like to forward to the next one, we can use the `continue` directive. + + +# Let's have a quick exercise [Reverse String](https://leetcode.com/problems/reverse-string/) + +#### For more information about loops click [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#break_statement) From 5695041b23e1a9fed82761c8cba077af3c2277e0 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 28 Feb 2020 23:14:49 +0200 Subject: [PATCH 02/21] remove alert to be console.log fix typo --- coursebook/session-16/arrays.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index 574bcca0..98861f66 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -48,9 +48,9 @@ 0 1 2 let colors = ['Red', 'Yellow', 'Green']; - alert( fruits[0] ); // Red - alert( fruits[1] ); // Yellow - alert( fruits[2] ); // Green + console.log( colors[0] ); // Red + console.log( colors[1] ); // Yellow + console.log( colors[2] ); // Green ``` * We can replace an element: From 22678d0b41b237e27d70eab5ec3781255d213ab8 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 13:12:34 +0200 Subject: [PATCH 03/21] fix missed 5 minutes --- coursebook/session-16/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coursebook/session-16/README.md b/coursebook/session-16/README.md index 7bb66099..2fee94b9 100644 --- a/coursebook/session-16/README.md +++ b/coursebook/session-16/README.md @@ -6,6 +6,6 @@ - 11:00 - 12:30 | [Arrays](./arrays.md) - 12:30 - 12:45 | BREAK -- 12:50 - 14:00 | [Array Methods](./array-methods.md) +- 12:45 - 14:00 | [Array Methods](./array-methods.md) --- \ No newline at end of file From 9b4663ea4d8ba346e3137601e5ba87f7b0035fab Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 13:22:22 +0200 Subject: [PATCH 04/21] add additional resources list item --- coursebook/session-16/README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/coursebook/session-16/README.md b/coursebook/session-16/README.md index 2fee94b9..3e5c1ad2 100644 --- a/coursebook/session-16/README.md +++ b/coursebook/session-16/README.md @@ -1,11 +1,12 @@ # Arrays -### [Learning Outcomes](./learning-outcomes.md) - -## Schechule +### [**L**earning **O**utcomes](./learning-outcomes.md) +--- +## **S**chechule - 11:00 - 12:30 | [Arrays](./arrays.md) - 12:30 - 12:45 | BREAK - 12:45 - 14:00 | [Array Methods](./array-methods.md) ---- \ No newline at end of file +--- +### [**A**dditional **R**esources](./resources.md) \ No newline at end of file From 905b0f493044e8e3e91980bb3cc16816e6c8b299 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 13:22:54 +0200 Subject: [PATCH 05/21] remove additional resources --- coursebook/session-16/arrays.md | 3 --- coursebook/session-16/loops.md | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index 98861f66..8bb9431c 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -101,6 +101,3 @@ arr[3](); // hello arr // ["Fatma", "Ala'a", "Sama"] ``` --- Additional resources : - * [arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) - * [Indexed collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections) diff --git a/coursebook/session-16/loops.md b/coursebook/session-16/loops.md index b801f653..33df8887 100644 --- a/coursebook/session-16/loops.md +++ b/coursebook/session-16/loops.md @@ -202,4 +202,4 @@ If we don’t want to do anything in the current iteration and would like to for # Let's have a quick exercise [Reverse String](https://leetcode.com/problems/reverse-string/) -#### For more information about loops click [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#break_statement) + From 3cb030be50471b4af2b231a66e2ebe00b673e558 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 13:23:15 +0200 Subject: [PATCH 06/21] adding additional resources --- coursebook/session-16/resources.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 coursebook/session-16/resources.md diff --git a/coursebook/session-16/resources.md b/coursebook/session-16/resources.md new file mode 100644 index 00000000..4a2e2393 --- /dev/null +++ b/coursebook/session-16/resources.md @@ -0,0 +1,5 @@ +# **A**dditional **R**esources: + + * [arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) + * [Indexed collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections) + * [Loops](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#break_statement) \ No newline at end of file From f3f813692e067bd112ca699bf3e5591e9e7a0b6e Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 13:27:17 +0200 Subject: [PATCH 07/21] remove empty lines --- coursebook/session-16/learning-outcomes.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/coursebook/session-16/learning-outcomes.md b/coursebook/session-16/learning-outcomes.md index f20505c1..00981ac1 100644 --- a/coursebook/session-16/learning-outcomes.md +++ b/coursebook/session-16/learning-outcomes.md @@ -8,10 +8,3 @@ - know and understand some Arrays method: - map, forEach, reduce, filter, sort, pop, push - - - - - - - From 1d4ad31ba6930f979d6859a6327d53bdad45ff89 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 14:11:30 +0200 Subject: [PATCH 08/21] adding Multidimensional Arrays topic --- coursebook/session-16/arrays.md | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index 8bb9431c..42a0b7e7 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -10,6 +10,7 @@ - [Loops](./loops.md) ## Arrays : +### **Onedimensional Arrays**: :arrow_double_down: Objects allow you to store keyed collections of values. That’s fine. But quite often we find that we need an ordered collection, where we have a 1st, a 2nd, a 3rd element and so on. @@ -101,3 +102,37 @@ arr[3](); // hello arr // ["Fatma", "Ala'a", "Sama"] ``` +### **Multidimensional Arrays** : :arrow_double_down: + + Arrays can have items that are also arrays. We can use it for multidimensional arrays, for example to store matrices: + +```js + +let activities = [ + /*0*/ /*1*/ + /*0*/ ['Working ', 9], + /*1*/ ['Eating ', 2], + /*2*/ ['Commute ', 2], + /*3*/ ['Sleeping', 7], +]; + +console.log( activities[1] ); // ['Eating ', 2] +console.log( activities[3] ); // ['Sleeping', 7] + +console.log( activities[1][1] ); // 2 +console.log( activities[0][0] ); // Working +console.log( activities[3][0] ); // Sleeping + +activities[4] = ['Study ', 10]; + +now +activities = [ + ["Working ", 9] + ["Eating ", 2] + ["Commute ", 2] + ["Sleeping", 7] + ["Study ", 10] + ] ; + +``` + From d5c1f31eaf3f59fe32bc7a6981bb6c4947a3e97f Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 14:40:59 +0200 Subject: [PATCH 09/21] adding join and split methods --- coursebook/session-16/array-methods.md | 108 ++++++++++++++++++------- 1 file changed, 79 insertions(+), 29 deletions(-) diff --git a/coursebook/session-16/array-methods.md b/coursebook/session-16/array-methods.md index c29a7a19..fdb4987c 100644 --- a/coursebook/session-16/array-methods.md +++ b/coursebook/session-16/array-methods.md @@ -1,27 +1,28 @@ + # Array Methods **Author**: [@alaa-yasin](https://github.com/alaa-yasin) -## Arrays have a good number of [methods](https://www.w3schools.com/jsref/jsref_obj_array.asp) such as _forEach()_, _map()_, _filter()_, _reduce()_, _sort()_, ..._etc_ + **Arrays have a good number of [methods](https://www.w3schools.com/jsref/jsref_obj_array.asp) such as _forEach()_, _map()_, _filter()_, _reduce()_, _sort()_, ..._etc_** -- #### What can you see after each method's name? -- #### What does that mean? -- #### What do you think the output will be if we don't write them? +- What can you see after each method's name? +- What does that mean? +- What do you think the output will be if we don't write them? ``` [1,2,3].forEach; // ? ['Alaa', 'Islam', 'Aya'].map; //? ``` -# So, what are methods? -### Methods are built-in or user-defined functions used in different cases. +## So, what are methods? + **Methods are built-in or user-defined functions used in different cases.** -## Built-in methods vs user-defined methods +### - Built-in methods vs user-defined methods -### _Built-in method_ is any function that is provided by any language library. such as: -``` + * _Built-in method_ is any function that is provided by any language library. such as: +```js [2, 3, 4].forEach(); [1, 2, true, 'Alaa].map(); ``` -### Whereas, _user-defined mthods are functions defined by users themselves in order to have their work done. such as: +* Whereas, _user-defined mthods are functions defined by users themselves in order to have their work done. such as: ```js const array = []; @@ -31,7 +32,7 @@ array.foo = function(num) { array.foo(3); //returns ?? ``` -## As we learned before, we can access arrays' elements by their index. + **As we learned before, we can access arrays' elements by their index.** ```js const numbers = [1, 2, 3]; numbers[0]; // 1 @@ -39,8 +40,8 @@ numbers[1]; //2 numbers[2]; //3 ``` -### So, what if I have an array of 100 elements, and I want to _console.log_ everything in this array? -### Is it logical to access each element as this? + So, what if I have an array of 100 elements, and I want to _console.log_ everything in this array? +**Is it logical to access each element as this?** ```js const cities = ['Gaza', 'Ramallah', ...etc] cities[0]; @@ -50,18 +51,19 @@ cities[1]; ... cities[99]; ``` -## That is why methods are created :wink +## That is why methods are created :wink: -1. ## Array.forEach() +1. ### **Array.forEach()** ```js cities.forEach(function(city) { console.log(city); }); // Gaza, Ramallah ,...etc ``` -### So, [forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) is a function that executes a provided function once for each array element in ascending order. -### forEach() method returns 'undefined'. It doesn't change the original array. + So, [forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) is a function that executes a provided function once for each array element in ascending order. + + **forEach()** method returns 'undefined'. It doesn't change the original array. -2. ## Array.map() +2. ### **Array.map()** ```js const cities = ['gaza', 'ramallah'] @@ -70,20 +72,20 @@ cities.map(function(city) { }); // ['Gaza', 'Ramallah'] ``` -### So. [map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) is a function that creates a new array populated with the results of executing a provided function on every array element. -### map() method returns a new array with the same number of the original array elements. It doesn't change the original array. + So. [map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) is a function that creates a new array populated with the results of executing a provided function on every array element. + **map()** method returns a new array with the same number of the original array elements. It doesn't change the original array. -3. ## Array.filter() +3. ### **Array.filter()** ```js const ages = [15, 34, 54, 46, 10, 4, 5]; ages.filter(function(age) { return age < 18; }); // [15, 10, 4, 5] ``` -### So, [filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) is a function that creates a new array with all elements that pass the test implemented by the provided function. -### filter() method returns a new array with a different number of the original array elements. It doesn't change the original array. + So, [filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) is a function that creates a new array with all elements that pass the test implemented by the provided function. + **filter()** method returns a new array with a different number of the original array elements. It doesn't change the original array. -4. ## Array.reduce() +4. ### **Array.reduce()** ```js const numbers = [1,2,3,4]; const initialValue = 0; @@ -119,10 +121,10 @@ last iteration output = 6 + 4 = 10 ```js So, The output value = 10 ``` -### So, [reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) is a function that executes a reducer function (that you provide) on each element of the array, resulting in a single output value. -### reduce() method returns a single output value. It doesn't change the original array. + So, [reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) is a function that executes a reducer function (that you provide) on each element of the array, resulting in a single output value. + **reduce()** method returns a single output value. It doesn't change the original array. -5. ## Array.sort() +5. ### **Array.sort()** #### To sort strings: ```js const letters = ['a', 'c', 'd', 'b', 'e', 'f']; @@ -143,5 +145,53 @@ numbers.sort(function(a, b) { return b - a; }); // [5, 4, 3, 2, 1] ``` -### So, [sort()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) is a function that sorts array elements in place and returns the sorted array. -### sort() method returns a sorted array. It doesn't return a new array; it changes the positions of the elements in the original array. \ No newline at end of file + So, [sort()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) is a function that sorts array elements in place and returns the sorted array. + **sort()** method returns a sorted array. It doesn't return a new array; it changes the positions of the elements in the original array. + +6. ### **split and join** + Here’s the situation from real life. We are writing a messaging app, and the person enters the comma-delimited list of receivers: John, Pete, Mary. But for us an array of names would be much more comfortable than a single string. How to get it? + +* The **str.split(delim)** method does exactly that. It splits the string into an array by the given delimiter delim. + + In the example below, we split by a comma followed by space: +```js +let names = 'Bilbo, Gandalf, Nazgul'; + +let arr = names.split(', '); + +for (let name of arr) { + console.log( `A message to ${name}.` ); // A message to Bilbo (and other names) +} + +``` + + The `split` method has an optional second numeric argument – a limit on the array length. If it is provided, then the extra elements are ignored. In practice it is rarely used though: + +```js +let arr = 'Bilbo, Gandalf, Nazgul, Saruman'.split(', ', 2); + +console.log(arr); // Bilbo, Gandalf +``` + +**Split into letters** +```js + let str = "test"; + +console.log( str.split('') ); // t,e,s,t +``` + The [split()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) method turns a String into an array of strings, by separating the string at each instance of a specified separator string. + + +**The call _arr.join(glue)_ does the reverse to split. It creates a string of arr items joined by glue between them.** + +For instance: + +```js +let arr = ['Bilbo', 'Gandalf', 'Nazgul']; + +let str = arr.join(';'); // glue the array into a string using ; + +console.log( str ); // Bilbo;Gandalf;Nazgul +``` + +The [join()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) method creates and returns a new string by concatenating all of the elements in an array (or an array-like object), separated by commas or a specified separator string. If the array has only one item, then that item will be returned without using the separator. \ No newline at end of file From 0cc986d45b3eac45e6d7b6194cc68c2385a8bfe2 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 15:13:43 +0200 Subject: [PATCH 10/21] edit array method adding pop-push/ shift-unshift methods --- coursebook/session-16/array-methods.md | 77 +++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/coursebook/session-16/array-methods.md b/coursebook/session-16/array-methods.md index fdb4987c..76b41dab 100644 --- a/coursebook/session-16/array-methods.md +++ b/coursebook/session-16/array-methods.md @@ -194,4 +194,79 @@ let str = arr.join(';'); // glue the array into a string using ; console.log( str ); // Bilbo;Gandalf;Nazgul ``` -The [join()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) method creates and returns a new string by concatenating all of the elements in an array (or an array-like object), separated by commas or a specified separator string. If the array has only one item, then that item will be returned without using the separator. \ No newline at end of file +The [join()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) method creates and returns a new string by concatenating all of the elements in an array (or an array-like object), separated by commas or a specified separator string. If the array has only one item, then that item will be returned without using the separator. + + +7. ### **pop/push, shift/unshift** + * [**push()**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push) method adds one or more elements to the end of an array and returns the new length of the array. + * [**pop()**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop) method removes the last element from an array and returns that element. This method changes the length of the array. + * [**unshift()**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) method adds one or more elements to the beginning of an array and returns the new length of the array. + * [**shift()**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift) method removes the first element from an array and returns that removed element. This method changes the length of the array. + + +### Array: Push() : +**The push() method can append one or more elements to the end of an array.** +For example: + +```js +let names = ['Fatma', 'Sama']; +names.push('Salwa'); + +console.log(names); // ['Fatma', 'Sama', 'Salwa'] +// Push data onto the array. Push() appends elements to the end +// of the given array. Note that it can take more than one +// argument, each of which is individually appended to the array. +// In the output, notice that when push() takes multiple arguments +// they are appended in a left-to-right order (mimicing their +// appearence in the arguments list). +let letters = ['A', 'B']; +letters.push('C', 'D'); + +console.log(letters); // ['A', 'B', 'C', 'D']; +``` + +### Array: Pop() +**The pop() method pulls the last element off of the given array and returns it** +For example: + +```js +let letters = [ 'A', 'B', 'C' ]; + +// Pop the element off of the end of the array. +console.log( letters.pop() ); // C +console.log( letters ); // ['A', 'B'] +``` + +### Array: Unshift() +**The unshift() method is like the push() method, only it works at the beginning of the array. The unshift() method can prepend one or more elements to the beginning of an array.** + +For example: + +```js +let colors = [ 'red' ]; + +// Unshift data onto the array. Unshift() prepends elements to +// the beginning of the given array. Note that it can take more +// than one argument. In the output, notice that when unshift() +// takes multiple arguments, they are prepended in a right-to-left +// order (mimicing their appearence in the arguments list). +colors.unshift( 'yellow' ); +colors.unshift( 'green', 'blue' ); + +// Output resultant array. +console.log( colors ); // ["green", "blue", "yellow", "red"] + +``` + +### Array: Shift() +**The shift() method is like the pop() method, only it works at the beginning of the array. The shift() method pulls the first element off of the given array and returns it.** + +For example: + +```js +var numbers = [ 1, 2, 3 ]; + +// Shift the element off of the beginning of the array. +console.log( numbers.shift() ); //1 +console.log( numbers ); // [2, 3] +``` \ No newline at end of file From 1f964bfef9366f4ec4e9b4224086b8adf7146361 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 15:14:54 +0200 Subject: [PATCH 11/21] edit learning outcomes --- coursebook/session-16/learning-outcomes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coursebook/session-16/learning-outcomes.md b/coursebook/session-16/learning-outcomes.md index 00981ac1..9465223f 100644 --- a/coursebook/session-16/learning-outcomes.md +++ b/coursebook/session-16/learning-outcomes.md @@ -7,4 +7,4 @@ - Loop over an array by indexes. - know and understand some Arrays method: - - map, forEach, reduce, filter, sort, pop, push + - map, forEach, reduce, filter, sort, pop, push, shift, unshift, join, split From a94135612427364ea4a660e2dc090075b0cbeefe Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 15:29:42 +0200 Subject: [PATCH 12/21] adding Research topic --- coursebook/session-16/research.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 coursebook/session-16/research.md diff --git a/coursebook/session-16/research.md b/coursebook/session-16/research.md new file mode 100644 index 00000000..c014e1b5 --- /dev/null +++ b/coursebook/session-16/research.md @@ -0,0 +1,5 @@ +# Research: + +* `reverse` method +* `concat` method +* `splice` and `slice` methods \ No newline at end of file From d43bd5ac8ebdc003697f033a560778b7d7e2dff0 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Sun, 8 Mar 2020 15:29:58 +0200 Subject: [PATCH 13/21] adding image --- coursebook/session-16/array-methods.jpg | Bin 0 -> 215733 bytes coursebook/session-16/array-methods.md | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 coursebook/session-16/array-methods.jpg diff --git a/coursebook/session-16/array-methods.jpg b/coursebook/session-16/array-methods.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01453378aa596c36eb5b41a666f2006d3c5633f3 GIT binary patch literal 215733 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⁡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 L;Xk-MU|IApEJ{_| literal 0 HcmV?d00001 diff --git a/coursebook/session-16/array-methods.md b/coursebook/session-16/array-methods.md index 76b41dab..66756de6 100644 --- a/coursebook/session-16/array-methods.md +++ b/coursebook/session-16/array-methods.md @@ -1,7 +1,8 @@ # Array Methods -**Author**: [@alaa-yasin](https://github.com/alaa-yasin) +**Author**: [@alaa-yasin](https://github.com/alaa-yasin) and [@Fatmasiam](https://github.com/Fatmasiam) + **Arrays have a good number of [methods](https://www.w3schools.com/jsref/jsref_obj_array.asp) such as _forEach()_, _map()_, _filter()_, _reduce()_, _sort()_, ..._etc_** @@ -269,4 +270,8 @@ var numbers = [ 1, 2, 3 ]; // Shift the element off of the beginning of the array. console.log( numbers.shift() ); //1 console.log( numbers ); // [2, 3] -``` \ No newline at end of file +``` + + + +![array-methods](./array-methods.jpg) From ed39c955a07fe3ae08a37a4322fdeb68e15ebaf0 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Mon, 9 Mar 2020 14:55:11 +0200 Subject: [PATCH 14/21] edit name --- coursebook/session-16/arrays.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index 42a0b7e7..1691a1e9 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -84,7 +84,7 @@ console.log(colors.length); let arr = [ 'Apple', { name: 'Fatma' }, true, function() { console.log('hello'); } ]; // get the object at index 1 and then show its name -console.log( arr[1].name ); // John +console.log( arr[1].name ); // Fatma // get the function at index 3 and run it arr[3](); // hello From ea8a883aa7dc39b341038321fb95aab2c1580ef2 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 13 Mar 2020 16:41:02 +0200 Subject: [PATCH 15/21] fix typo --- coursebook/session-16/array-methods.md | 4 ++-- coursebook/session-16/arrays.md | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/coursebook/session-16/array-methods.md b/coursebook/session-16/array-methods.md index 66756de6..52b43895 100644 --- a/coursebook/session-16/array-methods.md +++ b/coursebook/session-16/array-methods.md @@ -21,9 +21,9 @@ * _Built-in method_ is any function that is provided by any language library. such as: ```js [2, 3, 4].forEach(); -[1, 2, true, 'Alaa].map(); +[1, 2, true, "Ala'a"].map(); ``` -* Whereas, _user-defined mthods are functions defined by users themselves in order to have their work done. such as: +* Whereas, _user-defined methods are functions defined by users themselves in order to have their work done. such as: ```js const array = []; diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index 1691a1e9..b53efc94 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -35,10 +35,13 @@ 2- let arr = []; ``` Almost all the time, the second syntax is used. and **W**e can supply initial elements in the brackets: + ```js + let numbers = new Array(1, 2, 3); + console.log(numbers); // [1, 2, 3] + let colors = ['red', 'yellow', 'green', 'blue']; - console.log(colors); - // ['red', 'yellow', 'green', 'blue'] + console.log(colors); // ['red', 'yellow', 'green', 'blue'] ``` ### **Array elements are numbered, starting with zero. [This thing called indexing]** From 5ff405b7997406dc5dbee97e9b492cb83c62212a Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 13 Mar 2020 16:41:57 +0200 Subject: [PATCH 16/21] adding another example for initial array element --- coursebook/session-16/arrays.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index b53efc94..23c56e3e 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -37,9 +37,10 @@ Almost all the time, the second syntax is used. and **W**e can supply initial elements in the brackets: ```js + let numbers = new Array(1, 2, 3); console.log(numbers); // [1, 2, 3] - + let colors = ['red', 'yellow', 'green', 'blue']; console.log(colors); // ['red', 'yellow', 'green', 'blue'] ``` From 3e8ae67114d3121fb960fc29867378874dd3ff5f Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 13 Mar 2020 17:23:53 +0200 Subject: [PATCH 17/21] refactor loops session --- coursebook/session-16/loops.md | 172 +++++++++------------------------ 1 file changed, 44 insertions(+), 128 deletions(-) diff --git a/coursebook/session-16/loops.md b/coursebook/session-16/loops.md index 33df8887..0d82088e 100644 --- a/coursebook/session-16/loops.md +++ b/coursebook/session-16/loops.md @@ -2,190 +2,106 @@ **Author**: [@Fatmasiam](https://github.com/Fatmasiam) ---- + As we learned previously in the [loop](../session-13/loops.md) session >Loops are handy, if you want to run the same code over and over again, each time with a different value. We often need to repeat actions. For example, outputting goods from a list one after another or just running the same code for each number from 1 to 10. Loops are a way to repeat the same code multiple times. -## The **“while”** loop: -### The `while` loop has the following syntax: - ```js - while (condition) { - // code - // so-called "loop body" -} - ``` -While the `condition` is truthy, the code from the `loop` body is executed. +# **NOW** How loops work with arrays: -For instance, the loop below outputs i while i < 3: +## The **“while”** loop: ```js -let i = 0; -while (i < 3) { // shows 0, then 1, then 2 - console.log( i ); +let colors = ['Red', 'Yellow', 'Orange']; +let i =0; +while (i < colors.length) { // i shows 0, then 1, then 2 + console.log( colors[i] ); // this will print the console for colors[0], colors[1], colors[2] i++; } ``` A single execution of the loop body is called an _iteration_. The **loop** in the example above makes three _iterations_. -If `i++` was missing from the example above, the loop would repeat (in theory) forever. +**If** `i++` was missing from the example above, the loop would repeat (in theory) forever. In practice, the browser provides ways to stop such loops, and in server-side JavaScript, we can kill the process. -Any expression or variable can be a loop condition, not just comparisons: -the condition is evaluated and converted to a boolean by `while`. - -For instance, a shorter way to write `while (i != 0)` is `while (i)`: - +> The following example uses the while loop statement to add 5 random numbers between 0 and 10 to an array: ```js -let i = 3; -while (i) { // when i becomes 0, the condition becomes falsy, and the loop stops - alert( i ); - i--; +// create an array of five random number between 1 and 10 +let randomNumbers = []; +let count = 0; +const size = 10; + +while(count < size) { + randomNumbers.push(Math.round(Math.random() * 10)); + count++; + console.log('The current size of the array is ' + count); } -``` -### **NOTE** :100: -```js - /* Curly braces are not required for a single-line body. - If the loop body has a single statement, we can omit the curly braces {…}:*/ - let i = 3; - while (i) alert(i--); +console.log(randomNumbers); ``` +In this example: :arrow_double_up: + * First, declare and initialize an array. + * Second, add a random number between 0 and 10 in each loop iteration inside the `while` statement. If the value of the `count` equals the value of the `size` variable, the loop stops. -## The **“do…while”** loop -The condition check can be moved below the loop body using the `do..while` syntax: -```js -do { - // loop body -} while (condition); +## The **“do…while”** loop -``` The loop will first execute the body, then check the condition, and, while it’s truthy, execute it again and again. **For example:** ```js +let alpha = ['A', 'B']; let i = 0; do { - alert( i ); + console.log(alpha[i]); // print the alpha[0], alpha[1] i++; -} while (i < 3); +} while (i < alpha.length); ``` -This form of syntax should only be used when you want the body of the loop to execute at least once regardless of the condition being truthy. Usually, the other form is preferred: while(…) {…}. +**Refreshing Question** :keycap_star: ==> separate[explain] the work for the previous example if the condition will `i <= alpha.length` + ## The **“for”** loop The for loop is more complex, but it’s also the most commonly used loop. -### It looks like this: ```js -for (begin; condition; step) { - // ... loop body ... +let names = ['Fiona','Sama', 'Diana']; + /*begin*/ /*condition*/ /*step*/ +for (let i = 0; i < names.length; i++) { // i shows 0, then 1, then 2 + console.log(names[i]); // names[0], names[1], names[2] } -``` -Let’s learn the meaning of these parts by example. The loop below runs `console.log(i);` for `i` from `0` up to (but not including) `3`: - -```js -for (let i = 0; i < 3; i++) { // shows 0, then 1, then 2 - console.log(i); -} - -``` -### Let’s examine the `for` statement part-by-part: - ----- - -| part | | | -| -------- | -------- | -------- | -| begin | `i = 0` | Executes once upon entering the loop. | -| condition | `i < 3 ` | Checked before every loop iteration. If false, the loop stops. | -| body | `console.log( i )` | Runs again and again while the condition is truthy.| -| step | `i ++ ` | Executes after the body on each iteration. | - - -### The general loop algorithm works like this: - -```js -Run begin -→ (if condition → run body and run step) -→ (if condition → run body and run step) -→ (if condition → run body and run step) -→ ... ``` - -That is, **begin** executes once, and then it iterates: after each **condition** test, **body** and **step** are executed. - -If you are new to loops, it could help to go back to the example and reproduce how it runs step-by-step on a piece of paper. - Here’s exactly what happens in our case: ```js -// for (let i = 0; i < 3; i++) console.log(i) +// for (let i = 0; i < names.length; i++) console.log(names[i]) // run begin let i = 0 -// if condition → run body and run step -if (i < 3) { console.log(i); i++ } -// if condition → run body and run step -if (i < 3) { console.log(i); i++ } -// if condition → run body and run step -if (i < 3) { console.log(i); i++ } -// ...finish, because now i == 3 - -``` - -## Breaking the loop - -#### Normally, a loop exits when its condition becomes falsy. - -#### But we can force the exit at any time using the special break directive. - -#### For example, the loop below asks the user for a series of numbers, `“breaking”` when no number is entered: - -```js -let sum = 0; - -while (true) { - - let value = +prompt("Enter a number", ''); +// if condition → run body and run step + /* i = 0*/ +if (i < names.length) { console.log(names[0]); i++ } - if (!value) break; // (*) - - sum += value; - -} -console.log( 'Sum: ' + sum ); -``` - -The **`break`** directive is activated at the line **`(*)`** if the user enters an empty line or cancels the input. It stops the loop immediately, passing control to the first line after the loop. Namely, alert. - -The combination “infinite **`loop`** + break as needed” is great for situations when a loop’s condition must be checked not in the beginning or end of the loop, but in the middle or even in several places of its body. - -## Continue to the next iteration - -The **`continue`** directive is a “lighter version” of **break**. It doesn’t stop the whole loop. Instead, it stops the current iteration and forces the loop to start a new one (if the condition allows). - -We can use it if we’re done with the current iteration and would like to move on to the next one. - -The loop below uses **`continue`** to output only odd values: +// if condition → run body and run step + /* i = 1*/ +if (i < names.length) { console.log(names[1]); i++ } -```js -for (let i = 0; i < 10; i++) { +// if condition → run body and run step + /* i = 2*/ +if (i < names.length) { console.log(names[2]); i++ } - // if true, skip the remaining part of the body - if (i % 2 == 0) continue; + /* i = 3*/ +// ...finish, because now i == 3 - console.log(i); // 1, then 3, 5, 7, 9 -} ``` -#### For even values of `i`, the `continue` directive stops executing the body and passes control to the next iteration of `for` (with the next number). So the `console.log(i)` is only called for odd values. # Summary From 835d16bc7736c3e9cb65a6cde29d45a142120731 Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 13 Mar 2020 17:24:42 +0200 Subject: [PATCH 18/21] adding image for loops workflow --- coursebook/session-16/JavaScript-while-loop.png | Bin 0 -> 7158 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 coursebook/session-16/JavaScript-while-loop.png diff --git a/coursebook/session-16/JavaScript-while-loop.png b/coursebook/session-16/JavaScript-while-loop.png new file mode 100644 index 0000000000000000000000000000000000000000..b418b87df167eefcfba4b22f6fb614b7f4c5a0cc GIT binary patch literal 7158 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 eAK%foIGpNx;?7jxas}V>Ao{w-*f% literal 0 HcmV?d00001 From f34d532e0f530eb3e199877ce82a9d66c5e7fa1f Mon Sep 17 00:00:00 2001 From: Fatmasiam Date: Fri, 13 Mar 2020 17:25:08 +0200 Subject: [PATCH 19/21] adding another resourse for loops --- coursebook/session-16/resources.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/coursebook/session-16/resources.md b/coursebook/session-16/resources.md index 4a2e2393..d50f5435 100644 --- a/coursebook/session-16/resources.md +++ b/coursebook/session-16/resources.md @@ -2,4 +2,5 @@ * [arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) * [Indexed collections](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections) - * [Loops](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#break_statement) \ No newline at end of file + * [Loops](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#break_statement) + * [Array Loops](https://medium.com/better-programming/how-to-manipulate-and-iterate-arrays-in-javascript-3a0eb819b662) \ No newline at end of file From de8117d2c74f4726364820cc51eeb47e68cbc645 Mon Sep 17 00:00:00 2001 From: Fatma Siam <37935654+Fatmasiam@users.noreply.github.com> Date: Sun, 15 Mar 2020 19:12:40 +0200 Subject: [PATCH 20/21] Update coursebook/session-16/README.md Co-Authored-By: Mohammed --- coursebook/session-16/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coursebook/session-16/README.md b/coursebook/session-16/README.md index 3e5c1ad2..8c1aaa35 100644 --- a/coursebook/session-16/README.md +++ b/coursebook/session-16/README.md @@ -2,11 +2,11 @@ ### [**L**earning **O**utcomes](./learning-outcomes.md) --- -## **S**chechule +## **S**chedule - 11:00 - 12:30 | [Arrays](./arrays.md) - 12:30 - 12:45 | BREAK - 12:45 - 14:00 | [Array Methods](./array-methods.md) --- -### [**A**dditional **R**esources](./resources.md) \ No newline at end of file +### [**A**dditional **R**esources](./resources.md) From c2de191bcdd336f9ed06752bf01af15a4c14c9f6 Mon Sep 17 00:00:00 2001 From: Fatma Siam <37935654+Fatmasiam@users.noreply.github.com> Date: Sun, 15 Mar 2020 19:14:05 +0200 Subject: [PATCH 21/21] Update coursebook/session-16/arrays.md Co-Authored-By: Mohammed --- coursebook/session-16/arrays.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/coursebook/session-16/arrays.md b/coursebook/session-16/arrays.md index 23c56e3e..8c1259df 100644 --- a/coursebook/session-16/arrays.md +++ b/coursebook/session-16/arrays.md @@ -129,7 +129,7 @@ console.log( activities[3][0] ); // Sleeping activities[4] = ['Study ', 10]; -now +// now activities = [ ["Working ", 9] ["Eating ", 2] @@ -139,4 +139,3 @@ activities = [ ] ; ``` -