Skip to content

nervgh/recursive-iterator

Repository files navigation

Recursive Iterator

NPM version Build status Test coverage

About

It iterates through a graph or a tree recursively.

Versions

  • for support ES5 see 2.x.x versions

Getting started

Quick overview (es6)

let iterator = new RecursiveIterator(
  root /* {Object|Array} */,
  [bypassMode = 0] /* {Number} */,
  [ignoreCircular = false] /* {Boolean} */,
  [maxDeep = 100] /* {Number} */
)

let {value, done} = iterator.next()
let {parent, node, key, path, deep} = value

// parent is parent node
// node is current node
// key is key of node
// path is path to node
// deep is current deep

Example (es6)

let root = {
  object: {
    number: 1
  },
  string: 'foo'
}

for (let {node, path} of new RecursiveIterator(root)) {
  console.log(path.join('.'), node)
}

// object    Object {number: 1}
// object.number    1
// string    foo

Roadmap

Package managers

Bower

bower install recursive-iterator

You could find this module in bower like recursive iterator.

NPM

npm install recursive-iterator

You could find this module in npm like recursive iterator.