logo头像

arthas.com.cn

JavaScript数组转树结构

该文章被围观

本文于457天之前发表,文中内容可能已经过时。

对于带有树结构性质的数组,例如元素中含有id和parentId,经常需要处理成树形结构来处理业务。比如多级导航,遍历文件夹等。用遍历的方式实现转换方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* data 数组数据
* pid 顶级元素的parentId值
*/
function array2Tree (data, pid) {
let result = []
let temp
for (let i = 0; i < data.length; i++) {
if (data[i].parentId === pid) {
let obj = {id: data[i].id, name: data[i].name}
temp = array2Tree(data, data[i].id)
if (temp.length > 0) {
obj.children = temp
}
result.push(obj)
}
}
return result
}

参考文章:

js递归实现数组转树结构(多级菜单应用)

上一篇