It iterates through a graph or a tree recursively
npm install recursive-iterator[![NPM version][npm-image]][npm-url]
[![Build status][travis-image]][travis-url]
[![Test coverage][coveralls-image]][coveralls-url]
2.x.x versionsjs
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
`$3
`js
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
* Syntax
* ES6
* ES5
* API
* Options
* Methods & Callbacks
* Cookbook (es6))
* Iterator (not recursive)#iterator-not-recursive)
* DomIterator#domiterator)
* Deep copy / Deep clone#deep-copy--deep-clone)
* To Query String#to-query-string)
* To Form Data#to-form-data)
* Uninformed search algorithms#uninformed-search-algorithms)
Package managers
$3
`
bower install recursive-iterator
`
You could find this module in bower like _recursive iterator_.$3
`
npm install recursive-iterator
``
[npm-image]: https://img.shields.io/npm/v/recursive-iterator.svg?style=flat
[npm-url]: https://npmjs.org/package/recursive-iterator
[travis-image]: https://img.shields.io/travis/nervgh/recursive-iterator.svg?style=flat
[travis-url]: https://travis-ci.org/nervgh/recursive-iterator
[coveralls-image]: https://img.shields.io/coveralls/nervgh/recursive-iterator.svg?style=flat
[coveralls-url]: https://coveralls.io/r/nervgh/recursive-iterator?branch=master