i % 2
происходит неявное преобразование к булеву типа поидее. А в JS 0 == false, а все остальные числа true.alert(new Boolean(1%2));
//let arr = тот ужасный массив
let result = getParentIds(arr);
result = getNormalStruct(arr);
console.log(result)
document.write(out(result));
function getParentIds(arr){//Добавить parentId
arr.forEach(e=>{
if(e.path.length == 9)
e.parentId = null;
else
e.parentId = e.path.substr(0,e.path.length -9);
});
return arr;
}
function getNormalStruct(arr,parent = null){//Сделать нормальную структуру с children
let res = arr.filter(e=>e.parentId == parent);
res.forEach(e=> e.children = getNormalStruct(arr,e.path));
return res;
}
function out(arr,del = "-"){//Пример вывода по нормальной структуре
let s = "";
arr.forEach(e=>s+= del+ e.commentText+"<br>"+out(e.children,del+del));
return s;
}
-Это родитель
--Это первый потомок
----Это третий потомок
--Это второй потомок
----Это четвертый потомок