100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > js生成树形结构数组

js生成树形结构数组

时间:2020-01-22 03:48:36

相关推荐

js生成树形结构数组

简单实用的树形结构拼接方法

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body,html,#allmap {width: 100%;height: 100%;overflow: hidden;margin: 0;font-family: "微软雅黑";}</style><script type="text/javascript" src="http://api./api?v=2.0&ak=egAs3pKxpHT6hAV8zu3KEqUsRQGNcy3m"></script><title>js拼接树形结构数组</title></head><body><script type="text/javascript">var dataArray = [{id: 1,parentId: 0,name: "动物",rank: 1},{id: 2,parentId: 0,name: "植物",rank: 1},{id: 3,parentId: 0,name: "微生物",rank: 1},{id: 4,parentId: 1,name: "哺乳动物",rank: 1},{id: 5,parentId: 1,name: "卵生动物",rank: 1},{id: 6,parentId: 2,name: "种子植物",rank: 1},{id: 7,parentId: 2,name: "蕨类植物",rank: 1},{id: 8,parentId: 4,name: "大象",rank: 1},{id: 9,parentId: 4,name: "海豚",rank: 1},{id: 10,parentId: 4,name: "猩猩",rank: 1},{id: 11,parentId: 5,name: "蟒蛇",rank: 1},{id: 12,parentId: 5,name: "麻雀",rank: 1},];var copyVal = deepCopy(dataArray);var treeArray = assembleTree({data: copyVal,parent: "parentId",id: "id",child: "children"});// 深度拷贝function deepCopy(data) {return JSON.parse(JSON.stringify(data));};function assembleTree(params) {var options = {data: params.data,parent: params.parent,id: params.id,child: params.child};let tree = options.data.filter(function (parent) {let item = options.data.filter(function (child) {return parent[options.id] == child[options.parent];});if (item.length > 0) {parent[options.child] = item; }return parent[options.parent] == 0;});return tree;}console.log(treeArray);</script></body></html>

执行结果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。