HiveBrain v1.2.0
Get Started
← Back to all entries
snippetjavascriptTip

Get the index of an array item in a JavaScript for...of loop

Submitted by: @import:30-seconds-of-code··
0
Viewed 0 times
javascriptindexgetlooptheitemarrayfor

Problem

JavaScript's for...of loops provide an easy way to iterate over all kinds of iterables from arrays and stings to Map and Set objects. One supposed limitation over other options (e.g. Array.prototype.forEach()) is that you only get the value of each item in the iterable. But that is not necessarily the case, as you can easily leverage Array.prototype.entries() to get both the index and value of each array item:
Moreover, you can use the spread operator (...) to convert a string into an array and then use Array.prototype.entries() the same way. Finally, both Map and Set prototypes provide a similar method (Map.prototype.entries() and Set.prototype.entries() respectively), which can be used the exact same way.
_If you're not familiar with for...of and its syntax, I highly recommending you take a look at this article about the various iteration methods in JavaScript._

Solution

const items = ['a', 'b', 'c'];

for (let [index, item] of items.entries()) {
  console.log(`${index}: ${item}`);
}
// LOGS: 0: a, 1: b, 2: c


_If you're not familiar with for...of and its syntax, I highly recommending you take a look at this article about the various iteration methods in JavaScript._

Code Snippets

const items = ['a', 'b', 'c'];

for (let [index, item] of items.entries()) {
  console.log(`${index}: ${item}`);
}
// LOGS: 0: a, 1: b, 2: c

Context

From 30-seconds-of-code: index-for-of-loop

Revisions (0)

No revisions yet.