JSFiddle - React, Tailwind, and code Playground
HTML
<div id="result"></div>
JavaScript
var data = {
"nodes": [
{ "name": "Folder 1" },
{ "name": "Folder 2" },
{ "name": "Folder 3" },
{
"name": "Folder 4",
"nodes": [
{ "name": "Folder 4.1" },
{
"name": "Folder 4.2",
"nodes": [
{ "name": "Folder 4.2.1" },
{ "name": "Folder 4.2.2" },
{ "name": "Folder 4.2.3" }
]
},
{ "name": "Folder 4.3" }
]
},
{ "name": "Folder 5" }
]
};
function iterateNodes(data) {
for (var i = 0, l = data.nodes.length; i < l; i++) {
var node = data.nodes[i];
console.log(node.name);
// just for seeing the result in HTML
$('<p>').html(node.name).appendTo('#result');
if (node.nodes) {
arguments.callee(node);
}
}
}
iterateNodes(data);