JS: Array.prototype.entries

By Xah Lee. Date: . Last updated: .

New in ES2015.

myArray.entries()

Returns 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

Array Topic

  1. JS: Array Basics
  2. JS: Understand JS Array
  3. JS: Create Array
  4. JS: Sparse Array
  5. JS: Array-Like Object
  6. JS: Array How-To

  1. JS: Array Object
  2. JS: Array.prototype
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

Ask me question on patreon