js树形结构数据格式化

我们有时候会拿到一个包含p_id和id的类似树形结构的数据,有一款jq插件zTree就有用到这样的数据。比如:


假设第一个元素为a节点,我们希望在a节点中加上children属性,该属性为数组类型,其元素为其他节点的p_id等于a节点的id的对象。

处理后的a节点为


处理这样的数据我想到的是首先拿到一级节点,之后再用递归去寻找一级节点的子节点。然后直接push到一级节点的children里就可以了。

这里我用的vue 做测试:

待处理数据为areaArr,也就是上面截图的areaArr,之后写两个方法,a,b。a方法中拿到一级节点,然后调用b方法拿到一级节点的子节点。

其中字节点可能还有子节点,所以b方法中使用递归查找子节点。


结果为:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容