The for...of
loop is my favorite way to loop in JavaScript.
It combines the conciseness of forEach
loops with the ability to break.
The syntax is this:
const list = ['a', 'b', 'c']
for (const item of list) {
console.log(item)
}
You can break at any point in time using break
:
const list = ['a', 'b', 'c']
for (const item of list) {
console.log(item)
if (item === 'b') break
}
You can skip an iteration using continue
:
const list = ['a', 'b', 'c']
for (const item of list) {
if (item === 'b') continue
console.log(item)
}
You can get the index of an iteration using entries()
:
const list = ['a', 'b', 'c']
for (const [index, value] of list.entries()) {
console.log(index) //index
console.log(value) //value
}
Notice the use of const
. The for..of
loop creates a new scope in every iteration, so we can safely use that instead of let
.