arrayToTree: function (data, id, pid) //将ID、ParentID这种数据格式转换为树格式
{
if (!data || !data.length) return [];
var targetData = []; //存储数据的容器(返回)
var records = {};
var itemLength = data.length; //数据集合的个数
for (var i = 0; i < itemLength; i++)
{
var o = data[i];
records[o[id]] = o;
}
for (var i = 0; i < itemLength; i++)
{
var currentData = data[i];
var parentData = records[currentData[pid]];
if (!parentData)
{
targetData.push(currentData);
continue;
}
parentData.children = parentData.children || [];
parentData.children.push(currentData);
}
return targetData;
}
arrayToTree: function (data, id, pid) //将ID、ParentID这种数据格式转换为树格式
{
if (!data || !data.length) return [];
var targetData = []; //存储数据的容器(返回)
var records = {};
var itemLength = data.length; //数据集合的个数
for (var i = 0; i < itemLength; i++)
{
var o = data[i];
records[o[id]] = o;
}
for (var i = 0; i < itemLength; i++)
{
var currentData = data[i];
var parentData = records[currentData[pid]];
if (!parentData)
{
targetData.push(currentData);
continue;
}
parentData.children = parentData.children || [];
parentData.children.push(currentData);
}
return targetData;
}
发布评论
评论(14)
要js代码吗?
ztree本身的支持id-pid格式
还有我想问一下通常各位都是通过什么来讲json格式的数据传到前台的 ajax?还是什么
无限级就是没有 没有限级, 每次取一级就好了, 类型windows 的文件夹
好的 了解了
回复
这个是ztree里面的 还是 自己写的 我也不太清楚 但如果是ztree里面的 我直接调用是不是就可以了?
是强大的, 不过 ztree 本身就实现了这个方法
回复
json格式的id;pid格式。
你好 我问一下 arrayToTree这个方法中的data是什么数据呢?
回复
那我怎么通过数据库能够获取到符合ztree格式的json数据呢?
回复
读取数据库数据转化成id-pid的json数组输出到前端,再用这个函数转成需要的json树格式
回复
好的 我了解了 我的问题解决了 感谢你