Heim > Fragen und Antworten > Hauptteil
有如下结构数据
links里 source, target 的0 代表node1 以此类推
如何转换为
根据links里边有的关系转换为dataNew的嵌套关系
source 是父节点 target是子结点,可能有多层嵌套关系
巴扎黑2017-04-11 13:19:06
Code:
function getRelationship(data) {
var retData = new Array();
for (var i in data.node) {
var dataItem = {
name: data.node[i].name,
children: []
};
for (var j in data.link) {
if (data.link[j].source == i) {
var nodeName = data.node[data.link[j].target].name;
dataItem.children.push({
name: nodeName
});
}
}
retData.push(dataItem);
}
return retData;
}
var ret = getRelationship(data);
Result:
[ { name: 'node1', children: [ [Object], [Object] ] },
{ name: 'node2', children: [] },
{ name: 'node3', children: [] } ]