new Ycc.Tree()
树的构造函数
若参数为空,默认创建只有一个根节点的树
Members
-
$idnumber
-
节点的自增ID,不允许修改,且每个对象必须唯一
-
$parentIDnull Ycc.Tree
-
节点的父节点ID,不允许修改
-
childrenArray
-
节点的子节点列表
-
dataany
-
节点所携带的数据
Methods
-
staticYcc.Tree.createByJSON(json){Ycc.Tree}
-
根据传入的json构造一棵树 若节点有数据必须包含data字段 若节点有子节点必须包含children字段,且为数组 只关注data和children字段,其他字段将忽略
Name Type Description jsonobject json对象,示例:{data,children} Returns:
Type Description Ycc.Tree -
staticYcc.Tree.createByNodes(nodes){Ycc.Tree}
-
根据传入的节点列表构造一棵树 只关注字段id,parentID 构造成功后将生成新的$id,$parentID,且所有字段都将放入data中,包括id和parentID
Name Type Description nodesArray.<Array> json对象数组 Returns:
Type Description Ycc.Tree -
staticYcc.Tree.getNodeMap(){Object}
-
获取nodeMap表
Returns:
Type Description Object -
staticYcc.Tree.release(treeNode)
-
释放当前节点的内存,非递归
Name Type Description treeNode -
addChildTree(tree)
-
添加一颗子树
Name Type Description tree -
getBrotherList(){Array.<Ycc.Tree>}
-
获取节点的所有兄弟节点,包括自身
Returns:
Type Description Array.<Ycc.Tree> -
getDepth(){number}
-
获取树的深度
Returns:
Type Description number -
getNodeListGroupByLayer(){Object}
-
获取节点列表按照层级的分类 key为层级,val为Ycc.Tree列表
Returns:
Type Description Object -
getNodeMap(){Object}
-
获取nodeMap表
Returns:
Type Description Object -
getParent(){Ycc.Tree}
-
获取父级
Returns:
Type Description Ycc.Tree -
getParentList(){Array.<Ycc.Tree>}
-
获取节点的所有父级,靠近节点的父级排序在后
Returns:
Type Description Array.<Ycc.Tree> -
itor(option){Object}
-
树的迭代器,返回集中常用的迭代方法
Name Type Description option遍历时的配置项 Name Type Description reverse遍历子节点时,是否将子节点反向,默认false,目前仅支持depthDown遍历 Returns:
Type Description Object -
removeChildTree(tree){*}
-
删除一颗子树,只能删除直接子节点
Name Type Description treeReturns:
Type Description * -
toNodeList(){Array.<Ycc.Tree>}
-
转化为节点列表
Returns:
Type Description Array.<Ycc.Tree>