自己做treegrid的时候遇到了这个问题,所以就自己遍历一下了噻。
function convert(orgin)
{
var result = arguments[1] ? arguments[1] : [];
var level = arguments[2] ? arguments[2] : 0;
var parentid = arguments[3] ? arguments[3] : 0;
for(var x in orgin)
{
if(orgin[x]["parentid"]==parentid&&orgin[x]["skip_012ea834e2aa011ef16f7d846889c026"]!=1)
{
orgin[x]["level"]=level;
result.push(JSON.parse(JSON.stringify(orgin[x]))); //对象深拷贝
orgin[x]["skip_012ea834e2aa011ef16f7d846889c026"]=1;//已经知晓层级的节点不再遍历
if(orgin[x]["isleaf"]!=1)
{
convert(orgin,result,level+1,orgin[x]["id"]);
}
}
}
return result;
}
二、测试代码
var orgin = [
{
"id": 1,
"name": "生产管理1",
"parentid": 0,
"isleaf": 0
},
{
"id": 2,
"name": "生产管理2",
"parentid": 1,
"isleaf": 0
},
{
"id": 3,
"name": "生产管理3",
"parentid": 2,
"isleaf": 1
},
{
"id": 4,
"name": "生产管理4",
"parentid": 0,
"isleaf": 1
}, {
"id": 5,
"name": "生产管理5",
"parentid": 0,
"isleaf": 0
},
{
"id": 6,
"name": "生产管理6",
"parentid": 5,
"isleaf": 1
}
];
console.log(convert(orgin))
结果如下:
