JS: Array.prototype.entries

By Xah Lee. Date: . Last updated: .

New in ES2015.

myArray.entries()

Return a iterator object (also is a iterable object), each yield is an array of the form [index,value].

[see JS: Iterator]

[see JS: Iterable]

for (const e of ["a", "b", "c"].entries()) {
 console.log ( e );
}

// prints
// [ 0, 'a' ]
// [ 1, 'b' ]
// [ 2, 'c' ]
for (const [i,k] of ["a", "b", "c"].entries()) {
 console.log ( i, k );
}

// prints

// 0 'a'
// 1 'b'
// 2 'c'

Convert array to Map with index:

[see JS: Map Object]

// convert array to map
const aa = ["a", "b", "c"];
const mm = new Map([...aa.entries()]);
console.log ( mm );
// Map { 0 => 'a', 1 => 'b', 2 => 'c' }

[see JS: Spread Operator]

This example shows the result is iterator and iterable:

const et = ["a", "b", "c"].entries();

// is a iterator
console.log (
 Object.prototype.toString .call (et) === "[object Array Iterator]"
); // true

// is also a iterable
console.log (
 Symbol.iterator in et
); // true

Reference

ECMAScript® 2016 Language Specification#sec-array.prototype.entries

JS Array

  1. Understand JS Array
  2. Create Array
  3. Sparse Array
  4. Array-Like Object
  5. Array How-To
  6. Array Object
  7. Array.prototype
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS in Depth
  4. JS Reference
  5. DOM
  6. SVG
  7. Web Dev Blog