Есть массив с объектами, в котором содержатся элементы категорий и подкатегорий. Например, в сфере интересов.
Пользователь может выбрать категорию Visual Art, в ней - Film, а в нем - Comedy. То есть может быть глубокая вложенность взаимозависимых категорий и субкатегорий в них. 
У каждой из выбраной категории есть параметр parent, который равен id своего парента. Только у верхнего элемента этот параметр равен null.
То есть выбор пользователя Visual Art => Film => Comedy вернет такой массив:
const interests = [
    {
      id: 64,
      parent: 158,
      title: 'Comedy',
    },
    {
      id: 97,
      parent: null,
      title: 'Visual Art',
    },
    {
      id: 158,
      parent: 97,
      title: 'Film',
    },
  ];
Элементы в массиве могут не идти один за другим в логическом порядке, поэтому нужно пройтись по массиву и сортировать его элементы так, чтобы в результае все шло в правильной последовательности и вернуло
[ { title: 'Visual Art' }, { title: 'Film' }, {  title: 'Comedy' } ]
Как корректно сортировать массив?