数据组合问题

clipboard.png

第一级分类 pid 等于0

下一级的分类的pid是上一级分类的task_set_id

怎样排列一下结构,让一级分类是一个数组 二级分类是一个数组 3级 4级...这样子?

譬如一级分类有 投诉,建议,资讯,其它. 投诉分类的下标是0. task_set_id是13 . 我在二级分类数组的找下标为0的那个数组就得到所有pid为13的二级分类. 以此类推.. 各路大佬帮忙看看. ### 问题描述

阅读 1.4k
1 个回答

不是很明白你想要什么结构,递归应该就可以实现的。我的你看下当个思路吧。而且我觉得这应该是在后端整理结构。

var dataList = [
    { id: 1, name: "test1", pid: 0 },
    { id: 2, name: "test2", pid: 0 },
    { id: 3, name: "test3", pid: 2 },
    { id: 4, name: "test4", pid: 2 },
    { id: 5, name: "test5", pid: 3 },
    { id: 6, name: "test6", pid: 0 },
    { id: 7, name: "test7", pid: 1 },
    { id: 8, name: "test8", pid: 5 }
];
var sortMap = {};
function recursion(sortMap, pid){
    sortMap[pid] = dataList.filter(function(item){
        return item.pid == pid;
    }).map(function(item){
        item["child"] = {};
        recursion(item["child"], item.id);
        return item;
    });
}
recursion(sortMap, 0);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题