JSFiddle - React, Tailwind, and code Playground

by jairajdesai

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<div id="show">
</div>

JavaScript

$(document).ready(function() {
var files = [
  'Dashboard/Logs/Errors',
  'Dashboard/Logs/Other',
  'Accounts/Main',
];

var navigation = [];
var getNavigationObject = function(nav, title) {
  for (var i = 0; i < nav.length; i++) {
    if (nav[i].title == title) {
      return nav[i];
    }
  }
};
var addToNav = function (nav, components) {
  var n = getNavigationObject(nav, components[0]);
  if (!n) {
    nav.push(n = {title: components[0]});
  }
  if (components.length > 1) {
    addToNav(n.dropdown = n.dropdown || [], components.slice(1));
  }
};
files.forEach(function(e) {
  addToNav(navigation, e.split('/'));
});

$('#show').html(JSON.stringify(navigation, null, 2));
});