js返回树形结构数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js返回树形结构数据相关的知识,希望对你有一定的参考价值。

/**
 * 树形结构转换
 * @param a
 * @param idStr
 * @param pidStr
 * @param chindrenStr
 * @returns {Array}
 */
function transData(a, idStr, pidStr, chindrenStr){
    let r = [], hash = {}, id = idStr, pid = pidStr, children = chindrenStr, i = 0, j = 0, len = a.length;
    for(; i < len; i++){
        hash[a[i][id]] = a[i];
    }
    for(; j < len; j++){
        let aVal = a[j], hashVP = hash[aVal[pid]];      //当前对象&pid对象
        if(hashVP){
            !hashVP[children] && (hashVP[children] = []);
            hashVP[children].push(aVal);
        }else{
            r.push(aVal);
        }
    }
    return r;
}

 技术分享

以上是关于js返回树形结构数据的主要内容,如果未能解决你的问题,请参考以下文章

js中平级数组和树形结构数据相互转换

js遍历树形结构并返回所有的子节点id值

js 树形结构根据id获取父级节点元素

js 生成树形结构数据

组织架构树形图

js把树形数据转成扁平数据