JSFiddle - React, Tailwind, and code Playground
JavaScript
var tree = [{
name:'product 1'
}, {
name:'product 2',
children: [{
name:'product 3',
children: {
name:'product 4',
children: {
name:'product 5'
}
}
}, {
name:'product 6'
}, {
name:'product 7'
}]
}, {
name:'product 8'
}];
function recursive(obj) {
var ret = [];
if(Array.isArray(obj)) {
for(var i = 0, length = obj.length; i < length; i++) {
ret.push(recursive(obj[i]));
}
} else {
ret.push('<li>'+obj.name);
if (typeof obj.children !== 'undefined') {
ret.push('<ul>' + recursive(obj.children) + '</ul>');
}
ret.push('</li>');
}
return ret.join('');
}
document.body.innerHTML = '<ul>' + recursive(tree) + '</ul>';