Borislav Hadzhiev
Wed Feb 16 2022·2 min read
Photo by Joshua Earle
To iterate over a string with index:
forEach()
method to iterate over the array.forEach()
method takes is the index of the current
element.const str = 'hello'; const arr: string[] = [...str]; console.log(arr); // 👉️ ['h', 'e', 'l', 'l', 'o'] arr.forEach((char, index) => { // 👇️ h 0, e 1, l 2, l 3, o 4 console.log(char, index); });
We used the spread syntax (...) to unpack the string into an array.
The array contains all of the characters in the string as elements.
The function we passed to the Array.forEach method gets called with each element in the array.
The callback function gets passed the following 3 parameters:
element
in the array.index
of the element in the array.array
on which we called the forEach()
method.The forEach
method returns undefined
, so it is used to mutate an external
variable.
An important thing to note when using the forEach()
method is - you can't use
the break
keyword to break out of the loop.
If you have to use the break
keyword to break out of the loop if a condition
is met, use a basic for
loop instead.
const str = 'hello'; for (let index = 0; index < str.length; index++) { // 👇️ h 0, e 1, l 2 console.log(str[index], index); if (index === 2) { break; } }
The break
keyword enables us to exit the loop early and is not supported when
using the forEach()
method.
Other than that, the for
loop is a little more verbose and is used less often
in the real world as the language offers more and more abstractions on top of
it.