JS树形数组扁平化

如题,有时候需要对树形数组深层去找符合字段的那一串json,苦于循环找太费劲,索引选择扁平化,找起来方便很多

  

 

封装函数如下:

复制代码
        //扁平化
        /*
         *  bossArr  树形数据
         *  children 树形数据子数据的属性名, 本项目为 children
         * */
        function extractTree(bossArr, children) {
            //如果为空 返回空(防止 children 递归报错)
            if (!Array.isArray(bossArr) && !bossArr.length) return [];
            let list = [];
            const getObj = (arr) => {
                arr.forEach((row) => {
                    let obj = {};
                    obj = JSON.parse(JSON.stringify(row));
                    list.push(obj);
                    if (row[children]) {
                        getObj(row[children]);
                    }
                });
                return list;
            };
            return getObj(bossArr);
        }
        const newList = extractTree(treeList, 'children');
        console.log(newList);
View Code
复制代码

 

posted @   蓝色精灵jah  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示