function iterateNodes(data) { for (var i = 0, l = data.nodes.length; i < l; i++) { var node = data.nodes[i]; console.log(node.name); if (node.nodes) { arguments.callee(node); } } } iterateNodes(data);