js tree iterator

generator

by ning wang

HTML

<html>
<div id='output'>
</div>
</html>

JavaScript

var tree = ['a',['b','c'],['d','e']];
var output = '';
function*itertree(tree){
  if(Array.isArray(tree)){
    for(let i=0;i<tree.length;i++){
      yield*itertree(tree[i]);
    }
  }else{
    yield tree;
  }
}
for(let x of itertree(tree)){
  output += x + ","
}
var ele = document.getElementById('output');
ele.innerHTML = output;