пожалуйста, мне нужна помощь здесь. я пытаюсь отсортировать этот массив так, чтобы потомки следовали за родителем, и если родитель является потомком массива, его значение не дублируется
[
{ name: "Edmund", parent: null },
{ name: "Viscount", parent: "Edmund" },
{ name: "jarvis", parent: "Russell" },
{ name: "earlgrey", parent: "Russell" },
{ name: "Russell", parent: "Edmund" },
{ name: "Baron", parent: "Edmund" },
]
это то, что я пытаюсь достичь: [Edmund, Viscount, Russell, jarvis, earlgrey, Baron]
это то, что я обычно получаю при попытке сортировки: [Edmund, Viscount, Russell, Baron, Russell, jarvis, earlgrey,]
причина этого, скорее всего, заключается в том, что код сначала сортирует родителей и добавляет первого родителя, а затем получает его потомков (из которых Рассел - часть), затем добавляет следующий (снова Рассел) и добавляет своих детей. пожалуйста, любая простая или полусложная функция сортировки или код будут действительно полезны. Большое спасибо.