json数组排列问题,困扰了很久没解决。。求大神支招!!

Mrs.Nobody 2017-03-20 05:55:37
var nodes = [
{"id":9,"title":"第一级","parentid":null},
{"id":2,"title":"第二级","parentid":1},
{"id":3,"title":"第二级","parentid":1},
{"id":4,"title":"第二级","parentid":1},
{"id":5,"title":"第二级","parentid":2},
{"id":6,"title":"第三级","parentid":3},
{"id":7,"title":"第三级","parentid":4},
{"id":8,"title":"第三级","parentid":3}
];

我用的是treetable插件,json数据类似这个,但是问题来了,treetable插件不主动识别id与parentid,而且要求的是子节点必须在父节点下面,才出现这个treetable的效果!!

上面这个json数组,求大神把顺序改一下,改为


var nodes = [
{"id":9,"title":"第一级","parentid":null},
{"id":2,"title":"第二级","parentid":1},
{"id":5,"title":"第二级","parentid":2},
{"id":3,"title":"第二级","parentid":1},
{"id":6,"title":"第三级","parentid":3},
{"id":8,"title":"第三级","parentid":3}
{"id":4,"title":"第二级","parentid":1},
{"id":7,"title":"第三级","parentid":4},
];

速求啊。。 我真是被这个烦死了!!
...全文
263 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mrs.Nobody 2017-03-20
  • 打赏
  • 举报
回复
[quote=引用 3 楼 jslang 的回复:] 谢谢你了啊 真的很有用,也学到了不少!! 我要加分!!!
天际的海浪 2017-03-20
  • 打赏
  • 举报
回复
是所有没有对应id的parentid都算做第一级对吧

	var nodes = [
        {"id":9,"title":"第一级","parentid":null},
        {"id":2,"title":"第二级","parentid":1},
        {"id":3,"title":"第二级","parentid":1},
        {"id":4,"title":"第二级","parentid":1},
        {"id":5,"title":"第二级","parentid":2},
        {"id":6,"title":"第三级","parentid":3},
        {"id":7,"title":"第三级","parentid":4},
        {"id":8,"title":"第三级","parentid":3}
    ];
	var arr = [];

    function ct(id){
		for (var i = 0; i < nodes.length; i++){
            if(nodes[i].parentid==id){
                arr.push(nodes[i]);
                ct(nodes[i].id);
            }
        }
    }
	iFor: for (var i = 0; i < nodes.length; i++){
		for (var j = 0; j < arr.length; j++)
			if (nodes[i].parentid==nodes[j].id)
				continue iFor;
		arr.push(nodes[i]);
        ct(nodes[i].id);
    }
	console.table(arr);
    

Mrs.Nobody 2017-03-20
  • 打赏
  • 举报
回复
引用 1 楼 qq_29594393 的回复:
你第二个排序的依据是什么 .
第二个json数组是 把子节点放在父节点下面。。
当作看不见 2017-03-20
  • 打赏
  • 举报
回复
你第二个排序的依据是什么 .

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧