12 lines
334 B
JavaScript
12 lines
334 B
JavaScript
export default function(callback, that) {
|
|
var node = this, nodes = [node], children, i, index = -1;
|
|
while (node = nodes.pop()) {
|
|
callback.call(that, node, ++index, this);
|
|
if (children = node.children) {
|
|
for (i = children.length - 1; i >= 0; --i) {
|
|
nodes.push(children[i]);
|
|
}
|
|
}
|
|
}
|
|
return this;
|
|
}
|