JSFiddle - React, Tailwind, and code Playground

by Casufi

HTML

<button id="sortarr" type="button">Развернуть</button>

JavaScript

var eachElem = function(elem, newarr, ind){
    if (elem && elem.name) newarr[elem.name] = {colname:elem.name, sort: ind.index++};
    if (elem && elem.colls &&  typeof elem.colls.forEach === "function") elem.colls.forEach(function(el){eachElem(el, newarr, ind)});
}

var subcol2 = [
    {name:"СемьТри"},
    {name:"ДевятьТри"},
    {name:"ДваТри"},
];

var subcol = [
    {name:"ТриДва", colls: subcol2},
    {name:"ОдинДва"},
    {name:"ДваДва"},
];
var cols = [
    {name:"Четрые"},
    {name:"Три", colls: subcol},
    {name:"Семь"},
    {name:"Шесть"},
    {name:"Пять"},
    {name:"Один"},
    
];

$('#sortarr').on('click',function(e){
    var mappedset = {};
    var ind = {index:0};
    cols.forEach(function(el){eachElem(el, mappedset, ind)});
    console.log(mappedset);
});