node.js递归拼凑成树形结构

简介: node.js递归拼凑成树形结构
function convert(data,parentId){
    let convertData = [];
    data.forEach((item,index)=>{
        if(item.id===parentId){
            convertData.push(item);
            convertChildren(data,item,item.id)
        }
    })
    return convertData
}

function convertChildren(arr,parentItem,parentId){
    parentItem.children = parentItem.children?parentItem.children:[];
    arr.forEach(item=>{
        if(item.parentId===parentId){
            parentItem.children.push(item)
            convertChildren(arr,item,item.id)
        }
    })
    return parentItem.children
}
相关文章
|
2月前
|
前端开发 JavaScript
JavaScript递归菜单栏
JavaScript递归菜单栏
JavaScript递归菜单栏
|
3月前
|
JSON JavaScript 前端开发
JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级
JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级
|
4月前
|
缓存 JavaScript 前端开发
|
5月前
|
数据采集 缓存 JavaScript
JavaScript递归函数的设计与优化
JavaScript递归函数的设计与优化
|
6月前
|
JavaScript 前端开发 测试技术
了解JS递归
了解JS递归
39 1
|
6月前
|
JavaScript Serverless
JS实现递归功能
JS实现递归功能
|
5月前
|
数据采集 缓存 JavaScript
JavaScript递归函数的设计与优化
JavaScript递归函数的设计与优化
|
7月前
|
前端开发 JavaScript
前端 JS 经典:递归
前端 JS 经典:递归
42 0
|
机器学习/深度学习 存储 算法
如何优雅的使用javascript递归画一棵结构树
简单的说,递归就是函数自己调用自己,它做为一种算法在程序设计语言中广泛应用。其核心思想是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。一般来说,递归需要有边界条件、递归前进阶段和递归返回阶段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
193 0
|
28天前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂