- Overview
- Transcript
5.5 Iterating and Transforming Arrays
Arrays have so many useful methods that I had to break the array lesson into two parts! In this lesson, we continue looking at how we can work with arrays, this time focusing on methods for iterating and transforming them.
Syntax
forEach
some
every
reduce
map
1.Introduction2 lessons, 07:42
1.1Introduction02:12
1.2Setup05:30
2.Language Fundamentals8 lessons, 1:00:53
2.1Variables06:33
2.2Data Types11:28
2.3Arithmetic, Assignment, and Comparison Operators10:24
2.4Unary, Logical, Comma, and Spread Operators09:02
2.5Operator Precedence03:50
2.6Reserved Words04:17
2.7Strict Mode04:34
2.8Functions10:45
3.Data Structures5 lessons, 22:52
3.1Arrays04:29
3.2Objects04:30
3.3Sets04:57
3.4Maps04:21
3.5Weak Maps and Weak Sets04:35
4.Controlling Program Execution7 lessons, 37:06
4.1Conditionals07:49
4.2Switch Statements04:41
4.3The For Loop06:39
4.4The `for .. in` Loop05:17
4.5The `for .. of` Loop04:02
4.6Iterators05:03
4.7While Loops03:35
5.Using JavaScript13 lessons, 1:44:36
5.1Working With Strings09:32
5.2Template Literals05:46
5.3Working With Numbers06:57
5.4Working With Arrays12:53
5.5Iterating and Transforming Arrays07:33
5.6Working With the Object Type13:55
5.7Object Literal Extensions06:45
5.8Working With Object Instances06:45
5.9Getters and Setters05:00
5.10Custom Objects11:28
5.11The `Math` API04:54
5.12Working With Dates and Times08:10
5.13The `Array` Constructor04:58
6.Functions8 lessons, 56:07
6.1The `this` Object06:15
6.2Working With Functions10:11
6.3Scope07:37
6.4Arrow Functions06:59
6.5Generator Functions08:13
6.6Closures05:00
6.7Prototypes06:26
6.8Default and Rest Parameters05:26
7.Miscellaneous6 lessons, 52:39
7.1Destructuring Assignments08:09
7.2AJAX08:30
7.3Regular Expressions10:51
7.4More About Regular Expressions08:38
7.5Classes06:48
7.6ES Modules09:43
8.Working With the DOM6 lessons, 37:39
8.1Selecting HTML Elements05:02
8.2Manipulating HTML Elements07:40
8.3DOM Traversal05:25
8.4Adding and Removing Elements04:45
8.5Creating Elements and Other Nodes04:39
8.6DOM Events10:08
9.Web APIs4 lessons, 17:41
9.1The Selector API03:03
9.2Geolocation05:29
9.3Web Storage05:24
9.4Web Workers03:45
10.Asynchronous JavaScript5 lessons, 26:23
10.1Promises09:52
10.2Promise Chaining05:11
10.3The async Keyword03:21
10.4The await Keyword04:04
10.5More About async and await03:55
11.Conclusion1 lesson, 00:43
11.1Conclusion00:43
5.5 Iterating and Transforming Arrays
Hi, folks. In this lesson, we're going to continue looking at arrays, this time focusing on some of the many iteration methods that arrays have. As well as being used with for and for-of loops, arrays themselves contain methods that iterate them in different ways. For basic iteration, we can use the forEach method. So the forEach method is called on an array and we pass a callback function to this method. The callback function will be invoked for each item within the array and has passed the current item each time it gets invoked. In this case, we just log it to the console. Unlike the for, or for-of loops, it's not possible to exit from a forEach loop early. It will always visit every element in the array. If we do want to only partially iterate the items in the array, we do have some other options. We could use the some method instead. The signature of the some method is similar to the signature of the forEach method. It's still a method that is called on the array instances, and it still gets passed a callback function. This callback function is passed the current from the array each time the callback gets invoked. The difference between some and forEach, is that the some method will iterate the array that it is called on until the callback function returns true. In this example, that will be on the second iteration. So let's check the browser's output this time. This time we only see two console logs. And that is because the callback function returns true when the current item equals y, and that is the second item in the array. And it's at that point that the some method stops. The some method itself will return true once it stops iterating. If the callback that we provide doesn't return true at all, the method will return false. The opposite of the some method is the every method. This method works in exactly the same way as the some method, except that it stops iterating the array when the callback function returns false. Let’s check the output for this one. This time we only see one console log. We only see one console log. Because as soon as the every method invokes the callback function for the second item, that item will not equal x. And so it will return true and the every method will stop iterating. Another useful method is the reduce method, which reduces an array down to a single value. Let's use a new array for this example. Like the other methods that we've looked at so far, the reduce method is passed a callback function. This callback function will be passed the value returned by the callback on the previous iteration, as well as the current item in the array. In this example, we just return the sum of the previous item, plus the current item. As well as passing a callback function, we also pass a second argument to the reduce method. This argument is the value that the previous argument to the callback function should have the very first time the callback function is invoked. So let's take a look at the output. So basically, what we've done is use the reduce method to sum all of the numbers in the array. One of the most powerful iteration methods that arrays have is the map method, which is used to map an array into another array. In this example, we first added an object of references which associates a letter with its equivalent in the Greek alphabet. We then have an array containing the values a, b, c. Like the callbacks past methods that we've looked at in this lesson, the callback can receive up to three arguments. The first argument is the current item. And it will also receive the index as the second argument to the callback, as well as the original array as the third argument. Although we don't actually use these in this example, they are available if you need them. So the callback function will be invoked for each item in the array that it is called on. Whatever we return from this callback, on each iteration, will end up as a new element in the new array that the map method returns. So let's take a look at the output. So we've mapped the first array, a, b, g, into a new array containing alpha, beta, gamma. So the map method takes an array and creates a new array by iterating the original array. We can modify the values from the original array and transform them or create entirely new elements for the new array, just like we did in this example. So in this lesson, we looked at some of the methods that all arrays have for iterating through the items in the array. We looked at the basic forEach method first, which simply visits each item in the array and invokes a callback function for them. We then moved on to look at some variations of this behavior such as the some and every methods, which iterate the array until the call back function returns either true or false respectively. We also saw the reduce method, which reduces the array values down into a single value. And lastly, we looked at the map method, which maps one array into another array. All of these methods can be extremely useful when working with arrays, so it's good to understand them well. In the next lesson, we can look at some of the useful properties and methods that we can access through the Object type. Thanks for watching.