js树形数据转化

11 篇文章 0 订阅
3 篇文章 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值