ES6 in Depth
  • Introduction
  • Installation
  • Block Scope
    • Constant
    • Use cases
  • Template String
    • New String Methods
    • Tagged Template Literal
  • New Number Methods
  • Arrow Function
    • Default Parameters
    • Lexical This Scope
    • Where not to use arrow function
  • Object Enhancement
  • New Array Methods
    • For Of
  • Spread Operator
  • Destructuring
    • Array Destructuring
  • Class
  • Symbols
  • New Data Structures
    • Set
    • Map
    • WeakSet
    • WeakMap
    • Iterators
    • Generators
  • Promise
  • Import Export
Powered by GitBook
On this page
  • Set Iterator Demo
  • Map Iterator Demo

Was this helpful?

  1. New Data Structures

Iterators

  • Map/Set have methods (entries(), keys(), values()) that return iterator

  • Provides sequential access to items

  • Keep track of which item been accessed

  • Iteretaor are object with a next() method

  • next() return object with property value & done

  • value - current value

  • done - boolean indicates whether their is more item

Set Iterator Demo

new Set([1,2,3]).entries().next();
// Object {value: Array[2], done: false}
new Set([1,2,3]).entries().next().value // [1, 1]
new Set([1,2,3]).entries().next().done // false

Map Iterator Demo

var mapEntries = new Map([['one', 1], ['two', 2]]).entries();

mapEntries // MapIterator {["one", 1], ["two", 2]}
mapEntries.next() // Object {value: Array[2], done: false}
mapEntries.next() // Object {value: Array[2], done: false}
mapEntries.next() // Object {value: undefined, done: true}
PreviousWeakMapNextGenerators

Last updated 4 years ago

Was this helpful?