zoukankan      html  css  js  c++  java
  • 从二维数据转换成 JS 树形,JS树形转换成 二维数据

    //转换成树形
    function toTree(data, parent_id) {
        var tree = [];
        var temp;
        for (var i = 0; i < data.length; i++) {
            if (data[i].pid == parent_id) {
                var obj = {
                    text: data[i].name,
                    id: data[i].id,
                    pid: data[i].pid,
                    pic: data[i].pic,
                    sort_id: data[i].sort_id
                };
                temp = toTree(data, data[i].id);
                if (temp.length > 0) {
                    obj.children = temp;
                }
                tree.push(obj);
            }
        }
        return tree;
    }
    
    
    // 树转二维数组
    function treeToArry(node) {
        var stack = Object.assign([], node);
        var data = [];
        while (stack.length != 0) {
            var shift = stack.shift();
            data.push({
                id: shift.id,
                name: shift.name,
                pid: shift.pid,
                pic: shift.pic
            })
            var children = shift.children;
            if (children) {
                for (var i = 0; i < children.length; i++) {
                    stack.push(children[i])
                }
            }
        }
        return data
    }
    

      

  • 相关阅读:
    14-定时器
    13-JS中的面向对象
    12-关于DOM操作的相关案例
    11-DOM介绍
    10-关于DOM的事件操作
    09-伪数组 arguments
    08-函数
    07-常用内置对象
    06-流程控制
    05-数据类型转换
  • 原文地址:https://www.cnblogs.com/missliu/p/12524557.html
Copyright © 2011-2022 走看看