Sorting data and its children using Javascript

I have data. There are other data of the same type that have children in this data. I want to sort them all according to their ‘id’ fields, but I couldn’t set up the algorithm scheme for it.

What I’ve tried:

const sortedData: [] = [];

function sortAscending(datas: Group[]) {
    sortedData.push(datas.sort((group1, group2) => (group1.id > group2.id ? 1 : -1)));
    return sortedData;
}

With this code, I can only sort without children.

I tried to model the picture I wanted to describe:
enter image description here