Not having anything about the for..of loop is weird
I just say that since it pretty well maps exactly to Array.forEach for most devs
Also, it'd be good to mention using break inside a for loop.
You could then talk about how using array.filter().forEach() or somethign might be akin to using break in some situations
I see you mention that in your use cases
But there isn't much explanation of it
" You need to iterate over a sparse array and only want to run your functions for populated elements." That's pretty important there
And you don't mention it at all in the section on forEach
" You need to dynamically choose an operation to apply over your collection at runtime." ehhhhh
Can easily do that with a for loop as well
" You want to only map a subset of an array to a transformation. Use a for loop, or filter your collection before you map it."
Maybe an example of using filter and then forEach or map would be nice