NodeRecursiveIterator

Monster.Types. NodeRecursiveIterator

You can create the instance via the monster namespace new Monster.Types.NodeRecursiveIterator().

<script type="module">
import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
new Monster.Types.NodeRecursiveIterator()
</script>

Alternatively, you can also integrate this function individually.

<script type="module">
import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/types/noderecursiveiterator.js';
new NodeRecursiveIterator()
</script>

Constructor

# new NodeRecursiveIterator(dataopt)

An iterator to run recursively through a tree of nodes

Parameters:
Name Type Attributes Description
data Node <optional>
Since:
  • 1.26.0
Example
import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/types/node.js';
import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/types/noderecursiveiterator.js';

const node =new Node('1')

// 1
// 2
// ├ 2.1
// ├ 2.2
// └ 2.3
// 3
// 4
// ├ 4.1
// └ 4.2
node.appendChild(
(new Node('2'))
      .appendChild(new Node('2.1'))
      .appendChild(new Node('2.2'))
      .appendChild(new Node('2.3')))
.appendChild(new Node('3'))
.appendChild(new Node('4')
      .appendChild(new Node('4.1'))
      .appendChild(new Node('4.2')));

const iterator = new NodeRecursiveIterator(node);

const result = [];
for (const n of iterator) {
     result.push(n.value);
}

// ↦ ['1', '2', '2.1', '2.2', '2.3', '3', '4', '4.1', '4.2']

Methods

# forEach(callback) → {Monster.Types.NodeRecursiveIterator}

Parameters:
Name Type Description
callback function