经典语录:一切就像滑滑梯、一路上放肆张扬的笑了下来、最终重重的摔在下面、头破血流。 一、那些离开你的人,无论当初是出于什么原因离开的,也许他犹豫过挣扎过不舍过,但至少在他决定要走的那一瞬间,他觉得没有你,他会过得更好。 二、煮一壶茶折一枝白梅花 撑一把青伞泠泠雨落下 香桃木开满坟前惹风沙 谁的思念在石碑上发芽梦一场她城下作画 描一幅山水人家 雪纷纷下 葬了千层塔 生死隔断寂寞天涯梦一场她起弦风雅 奏一段白头韶华 雪纷纷下 葬了千层塔 似镜中月华他不知真假长安的誓言啊史书未写下。 三、我们单枪匹马闯入这世间,只为活出属于自己的所有可能。愿你这一生既有随处可栖的江湖,也有追风逐梦的骁勇。 四、 当你的才华还撑不起你的野心时,那你就应该静下心来学习;当你的经济还撑不起你的梦想时,那你就应该踏实的去工作;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌。 五、走错了记得回头,爱错了记得放手。 六、时间最会骗人,但也能让你明白,这个世界没有什么不能失去的。离去的都是风景,留下的才是人生。留到最后的人,就是对的人。 七、在青山绿水之间,我想牵着你的手,走过这座桥,桥上是绿叶红花,桥下是流水人家,桥的那头是青丝,桥的这头是白发。 八、让时间忘记我,让记忆忘记我,让思念忽略这一切。我汹涌或者平和的情绪,如水如梦。当人即使在梦中,仍不知幸福的所在,那才是最深的悲伤。一路的荒野,我们万水千山。 九、当你夜晚思念万千的时候,我的爱在你枕边与你细语,象哈哈哈催眠曲哄你入睡,甜甜地进入梦乡。爱是一种体会。用心体会到的爱,才是于细微深处见真情的爱,我对你的爱就是这种植入骨髓的爱。 十、好像每次都是这样,没有例外。在我们最需要有一个人去依靠的时候,往往到最后都是自己一个人挺过去。 十一、有些人,看起来好像是原谅你了,但其实,是因为你已经变得不那么重要了。 十二、活着呢,何必想那么多,何必问那么多,毕竟路是需要人走的,话是需要人说的,自己的世界,自己的沉淀,学会看人,学会看事,也要学会看自己,一辈子不容易,何必难为自己的全世界。 十三、愿意陪你的赶都赶不走,那些嘴上说说而已的,你也根本不必留。愿意比什么都重要也比什么都来得长久。 十四、不要着急,最好的总是在我们最不经意的时候出现,我们唯一能做的就是,怀揣希望去努力,静待美好的出现。 十五、世上除了生死,其他都是小事。不管遇到了什么烦心事,都不要自己为难自己;无论今天发生多么糟糕的事,都不要对生活失望,因为,还有明天。

封装普通数据为树菜单结构数据模式

对于很多收到的数据,我们都需要转换为树菜单的结构

一般这类数据都有一定顺序

下面的测试数据就是后台发给前台的数据

pid 和 subgroup_id 对应着他们的关系

你可以替换为你的对应关系,对应的字段当然也需要修改

包括结构push进去的对象要是当前数据的

通过判断data长度是否为空的死循环来控制生成树结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <title>Title</title>
</head>
<body>
<!--startprint-->
<p>F12打开控制台查看</p>
数据:
<pre>
    {subgroup_id:1,pid:0,text:'A'},
    {subgroup_id:2,pid:4,text:"E[父C]"},
    {subgroup_id:3,pid:7,text:"G[父F]"},
    {subgroup_id:4,pid:1,text:"C[父A]"},
    {subgroup_id:5,pid:6,text:"D[父B]"},
    {subgroup_id:6,pid:0,text:'B'},
    {subgroup_id:7,pid:4,text:"F[父C]"},
    {subgroup_id:8,pid:3,text:"z[父G]"}
</pre>
<script>
    (function () {
        var datas=[
            {subgroup_id:1,pid:0,text:'A'},
            {subgroup_id:2,pid:4,text:"E[父C]"},
            {subgroup_id:3,pid:7,text:"G[父F]"},
            {subgroup_id:4,pid:1,text:"C[父A]"},
            {subgroup_id:5,pid:6,text:"D[父B]"},
            {subgroup_id:6,pid:0,text:'B'},
            {subgroup_id:7,pid:4,text:"F[父C]"},
            {subgroup_id:8,pid:3,text:"z[父G]"}
        ];
        function toTreeData(data){
            var pos={};
            var tree=[];
            var i=0;
            while(data.length!=0){
                if(data[i].pid==0){
                    tree.push({
                        subgroup_id:data[i].subgroup_id,
                        text:data[i].text,
                        //children:[] //无孩子无节点
                    });
                    pos[data[i].subgroup_id]=[tree.length-1];
                    data.splice(i,1);
                    i--;
                }else{
                    var posArr=pos[data[i].pid];
                    if(posArr!=undefined){
                        var obj=tree[posArr[0]];
                        for(var j=1;j<posArr.length;j++){
                            obj=obj.children[posArr[j]];
                        }
						//有孩子有节点
						if(obj.children){}else{
							obj.children = [];
						}
                        obj.children.push({
                            subgroup_id:data[i].subgroup_id,
                            text:data[i].text,
                            //children:[] //无孩子无节点
                        });
                        pos[data[i].subgroup_id]=posArr.concat([obj.children.length-1]);
                        data.splice(i,1);
                        i--;
                    }
                }
                i++;
                if(i>data.length-1){
                    i=0;
                }
            }
            return tree;
        }
        console.log(toTreeData(datas))
    })();
</script>
</body> </html>

  

posted @ 2018-06-08 15:32  赵洲web  阅读(506)  评论(0)    收藏  举报