专注前端研究二十年 2021-11-14 21:12 采纳率: 33.3%
浏览 78
已结题

思考了一晚上没思考出来

img


封装一个函数
让数组变成下面这样
如何转换
求解
希望大家可以给我解决
最好是代码
谢谢大噶。

img

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2021-11-14 21:19
    关注

    题主要的代码如下

    img

    <script>
         function FlatToNested(data, opt) {//树数据源扁平结构转嵌套
            opt = opt || {};
            var idFiled = opt.idFiled || 'id';
            var textFiled = opt.textFiled || 'name';
             var parentField = opt.parentField || 'pid';
            var i, l, treeData = [], tmpMap = [];
            for (i = 0, l = data.length; i < l; i++) tmpMap[data[i][idFiled]] = data[i];
            for (i = 0, l = data.length; i < l; i++) {
                if (tmpMap[data[i][parentField]] && data[i][idFiled] != data[i][parentField]) {
                    if (!tmpMap[data[i][parentField]]['children'])
                        tmpMap[data[i][parentField]]['children'] = [];
                    tmpMap[data[i][parentField]]['children'].push(data[i]);
                } else {
                    treeData.push(data[i]);
                }
            }
            return treeData;
        }
    
        let arr = [
            { id: 1, pid: 0, name: '1' },
            { id: 2, pid: 0, name: '2' },
            { id: 3, pid: 1, name: '3' },
            { id: 4, pid: 3, name: '4' }
        ];
        var ndata = FlatToNested(arr);
        console.log(JSON.stringify(ndata,null,2))
    </script>
    

    帮助麻烦点下【采纳该答案】

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月19日
  • 已采纳回答 11月14日
  • 创建了问题 11月14日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么