Function filterTreeArray3

  • 过滤树形数据数组中的节点

    • 父节点和子节点都必须满足条件
    • 返回的数据是对treeDataArr数组中每一项的浅拷贝,不会修改原始treeDataArr中的值

    Type Parameters

    Parameters

    • treeDataArr: readonly T[]

      树形数据数组,包含多个树节点

    • filterFn: ((node: T) => boolean)

      过滤函数,用于判断节点是否符合条件,返回布尔值

        • (node): boolean
        • Parameters

          • node: T

          Returns boolean

    • childrenFieldName: keyof T = 'children'

      子节点数组的字段名,默认为'children'

    Returns T[]

    返回一个新的,被过滤后的树形结构数组

    const treeDataArr = [
    {key: '1',children: [{key: '1-1'},{key: '1-2',children: [{key: '1-2-1',},{key: '1-2-2'}]}]},
    {key: '2',children: [{key: '2-1',children: [{key: '2-1-1'}]}]}
    ]

    filterTreeArray(treeDataArr, (node) => {
    return node.key === '1-2'
    })

    输出
    []