- Overview
- Transcript
4.5 The `for .. of` Loop
The for .. of
loop is a new construct that allows us to iterate over the values in a collection instead of the keys. Let’s take a look at how we can use it to iterate arrays, maps, or other iterable objects.
Syntax
for .. of
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
4.5 The `for .. of` Loop
Hi, folks, in this lesson, we're going to take a look at the for of loop, which was only added to JavaScript a couple of years ago. This is similar conceptually to the for in loop that we looked at in the last lesson, except that instead of getting the keys of the object being iterated, it gets the values instead. Object in the generic term, not just object literal in the JavaScript term. Because with the for of loop, we can't actually iterate actual objects. The for of loop is used to iterate over anything that is iterable. Which is usually an array-like collection of values. True arrays are iterable, but also array-like collections of items like the arguments value inside a function, for example, are also iterable. This makes the for of loop useful if we don't know whether we'll be working with a true array or an array like object. The syntax is very similar to the for in loop, that we looked at in the last lesson. We just use the of key word instead of the in key word. We don't need to use square bracket notation with the for of loop. We can access the value directly. Let's just take a look at the output in the browser. So the for of loop can iterate any kind of iterable, not just arrays. We can also use it with maps and sets, for example. So using a set works in pretty much the same way as using an array. When we come to use a map, however, we do need to revert to square bracket notation. Because recall that, when we get the value from a map, it returns an array. And we want to get the second item in that array, which will be the value. The first item on that array that gets returned at index zero is the key name. And let's just check in the browser that the output is what we expect. And of course, we don't use the add methods with maps, we use the set method. Let's just correct that. Just like with the for loop, we can stop executing the loop at any time using the break key word. This time we see only the first item from the last example, the value a. In terms of performance, the for of loop is slightly faster than both for and for in loops. But to be honest, you would have to be using an array or object with tens of thousands of items in it to really notice the difference. So, in this lesson we looked at the for of loop, the newest of the for loops in JavaScript. We saw that it could be used with arrays or any other iterable, but not with regular objects. We saw that the syntax was almost identical to the for in loop, except that instead of working with the keys of an iterable, we are working with the values instead. In the next lesson, let's take a look at iterators and iterables in more detail. Thanks for watching.