数组转化树函数
Posted yscec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组转化树函数相关的知识,希望对你有一定的参考价值。
//数组转化为树 function arraytotree(arr) { var top = [], sub = [], tempObj = {}; arr.forEach(function (item) { if (item.parentId === 0) { // 顶级分类 top.push(item) } else { sub.push(item) // 其他分类 } item.children = []; // 默然添加children属性 tempObj[item.id] = item // 用当前分类的id做key,存储在tempObj中 }) sub.forEach(function (item) { // 取父级 var parent = tempObj[item.parentId] || {‘children‘: []} // 把当前分类加入到父级的children中 parent.children.push(item) }) return top },
以上是关于数组转化树函数的主要内容,如果未能解决你的问题,请参考以下文章
p43 将有序数组转化为二分搜索树 (leetcode 108)
LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段