数组嵌套多维对象转换一维数组
Soya / 2020-07-19 / 默认分类 / 阅读量 1878

前言

工作时处理一段数组对象,树形结构,需要转换成一层结构

如下图,一层套一层,不方便使用,

请输入图片描述

解决方案

使用了递归来改变数据结构,直接贴代码

 function parseArr(arr, res) {
        var i = 0;
        for (i = 0; i < arr.length; i++) {
            if (arr[i].commentList && arr[i].commentList.length > 0) {
                parseArr(arr[i].commentList, res);
                var t = JSON.parse(JSON.stringify(arr[i]))
                delete t.commentList
                res.push(t)
            } else {
                res.push(arr[i]);
            }
        }
    }
    var res = [];

   // arr 为要转换的数组,res是一个空的数组,用于生成转换后的新数组
    parseArr(arr, res);
   

转换结果

请输入图片描述