js——数据处理——数组转树形结构
递归解析——不推荐 普通变树形
功能:把普通数组 处理成 树形数组
var list = [
{ id: 1, name: "冰箱", pid: "" },
{ id: 2, name: "海尔冰箱", pid: 1 },
{ id: 3, name: "美的冰箱", pid: 1 },
{ id: 4, name: "电视", pid: "" },
{ id: 5, name: "小米电视", pid: 4 },
{ id: 6, name: "小米电视EA Pro 55英寸", pid: 5 },
{ id: 7, name: "小米电视EA55 2022款", pid: 5 },
];
//
//list传入的列表
// pid表示层级''表示一级列表'
function fn (list, pid) {
var list1 = []
list.forEach((item) => {
if (item.pid === pid) {
list1.push(item);
item.children = fn(list, item.id);
}
});
return list1;
}
console.log(fn(list, ''));
foreach解析——推荐
var list = [
{ id: 1, name: "冰箱", pid: "" },
{ id: 2, name: "海尔冰箱", pid: 1 },
{ id: 3, name: "美的冰箱", pid: 1 },
{ id: 4, name: "电视", pid: "" },
{ id: 5, name: "小米电视", pid: 4 },
];
var list1 = []
list.forEach(function (item) {
if (item.pid === "") {
item.children = []
list1.push(item)
list.forEach((item1) => {
if (item1.pid == item.id) {
item.children.push(item1)
}
})
}
})
console.log(list1)

浙公网安备 33010602011771号