js树形数据转化

论坛 期权论坛 脚本     
匿名技术用户   2021-1-16 04:18   247   0

list:操作对象

idstr:树形目录子Id

pidstr:树形目录父ID

function transDateone(list, idstr, pidstr){

var result = [];

var temp = {};

var tempVp = [];

for (var i = 0; i < list.length; i++) {

temp[list[i][idstr]] = list[i]; //将nodes数组转成对象类型

}

for (var j = 0; j < list.length; j++) {

tempVp = temp[list[j][pidstr]]; //获取每一个子对象的父对象

if (tempVp) {

//判断父对象是否存在,如果不存在直接将对象放到第一层

if (!tempVp["children"]) tempVp["children"] = []; //如果父元素的nodes对象不存在,则创建数组

tempVp["children"].push(list[j]); //将本对象压入父对象的nodes数组

} else {

result.push(list[j]); //将不存在父对象的对象直接放入一级目录

}

}

return result;

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP