从平面JSON生成(多级)flare.json数据格式

从平面JSON生成(多级)flare.json数据格式,第1张

从平面JSON生成(多级)flare.json数据格式

这是一个使用Javascript的实现:http :
//jsfiddle.net/9FqKS/

首先,创建基于名称的地图以方便查找。有几种不同的方法可以执行此 *** 作-
在这种情况下,我使用一个

.reduce
方法,该方法以一个空对象开头并遍历
data
数组,为每个节点添加一个条目:

// create a {name: node} mapvar dataMap = data.reduce(function(map, node) {    map[node.name] = node;    return map;}, {});

这等效于:

var dataMap = {};data.forEach(function(node) {    dataMap[node.name] = node;});

(我有时认为reduce更为优雅。)然后迭代地将每个子代添加到其父代,如果找不到父代,则将其添加到根数组:

// create the tree arrayvar tree = [];data.forEach(function(node) {    // find parent    var parent = dataMap[node.parent];    if (parent) {        // create child array if it doesn't exist        (parent.children || (parent.children = [])) // add node to parent's child array .push(node);    } else {        // parent is null or missing        tree.push(node);    }});

除非您的树很大,否则我认为这应该不会太昂贵,因此您应该能够在客户端进行 *** 作(如果不能这样做,那么在任何情况下都可能有太多数据无法轻松显示) 。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4931755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存