Есть массив с объектами, в котором содержатся элементы категорий и подкатегорий. Например, в сфере интересов.
Пользователь может выбрать категорию 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' } ]
Как корректно сортировать массив?