3.0.16 • Published 11 months ago

tree-as-array v3.0.16

Weekly downloads
-
License
Apache
Repository
github
Last release
11 months ago

介绍

用数组的方法操作树形结构数据。目前已支持mapTree、filterTree、findTree、pushTree、unshiftTree、popTree、shiftTree、someTree、everyTree、atTree、indexOfTree和特殊方法atIndexOfTree、nodeDepthMap和dedupTree。每个方法的最后一个参数可以自定义children和id的属性名。

安装教程

yarn add tree-as-array
npm i tree-as-array

使用说明

引入

import t from 'tree-as-array'

mapTree(遍历树结构数据的方法)

t.mapTree(treeData, (item) => {
    console.log(item)
})

filterTree(树结构数据的filter方法)

const values = ['node1', 'node2','node3'];
const result = t.filterTree(treeData, (item) => {
    return values.includes(item.name)
})
 
console.log(result)

findTree(树结构数据的find方法)

const result = t.findTree(treeData, (item) => {
    return item.hasOwnProperty('children')
})
 
console.log(result)

pushTree(targetParentId为目标节点的id,newNode为往该节点添加的数据)

t.pushTree(treeData, targetParentId, newNode);

console.log(treeData)

unshiftTree(targetParentId为目标节点的id,newNode为往该节点添加的数据)

t.unshiftTree(treeData, targetParentId, newNode);

console.log(treeData)

popTree(rootId为目标节点的id,此方法可删除rootId下的最后一个子节点)

t.popTree(treeData, rootId);

console.log(treeData)

shiftTree(rootId为目标节点的id,此方法可删除rootId下的第一个子节点)

t.shiftTree(treeData, rootId);

console.log(treeData)

someTree(树结构数据的some方法)

const result = t.someTree(treeData, item => item.name === 'jack')

console.log(result)

everyTree(树结构数据的every方法))

const result = t.everyTree(treeData, item => item.age >= 18)

console.log(result)

atTree(parentId为指定父节点的id,nodeIndex为子节点的索引,可传负数,和数组的at方法一样)

const result = t.atTree(treeData, parentId, nodeIndex)

console.log(result)

indexOfTree(返回一个数组,值为从根节点开始到targetId所在节点的索引,返回值可以传入atIndexOfTree的第二个参数进行取值)

const result = t.indexOfTree(treeData, targetId)

console.log(result)

atIndexOfTree(传入节点数据的下标数组,返回节点数据)

const result = t.atIndexOfTree(treeData, [0, 1, 0])

console.log(result)

nodeDepthMap(返回一个字典,键代表节点的id,值代表该节点在数据的第几层)

const result = t.nodeDepthMap(treeData)

console.log(result)

dedupTree(树结构对象数组去重方法,第一个参数为需要去重的数据,第二个参数为以哪个键去重)

const result = t.dedupTree(treeData, 'id')

console.log(result)
3.0.16

11 months ago

3.0.15

11 months ago

3.0.14

11 months ago

3.0.13

11 months ago

3.0.12

11 months ago

3.0.11

1 year ago

3.0.10

1 year ago

3.0.9

1 year ago

3.0.8

1 year ago

3.0.7

1 year ago

3.0.6

1 year ago

3.0.5

1 year ago

3.0.4

1 year ago

3.0.3

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.6.1

1 year ago

2.6.0

1 year ago

2.5.6

1 year ago

2.5.5

1 year ago

2.5.4

1 year ago

2.5.3

1 year ago

2.5.2

1 year ago

2.5.1

1 year ago

2.5.0

1 year ago

2.4.12

1 year ago

2.4.11

1 year ago

2.4.10

1 year ago

2.4.9

1 year ago

2.4.8

1 year ago

2.4.7

1 year ago

2.4.6

1 year ago

2.4.5

1 year ago

2.4.4

1 year ago

2.4.3

1 year ago

2.4.2

1 year ago

2.4.1

1 year ago

2.4.0

1 year ago

2.3.3

1 year ago

2.3.2

1 year ago

2.3.1

1 year ago

2.3.0

1 year ago

2.2.1

1 year ago

2.2.0

1 year ago

2.1.0

1 year ago

2.0.11

1 year ago

2.0.10

1 year ago

2.0.9

1 year ago

2.0.3

1 year ago

2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago