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);
});