Skip to content

Home > sculp-js > mapDeep

mapDeep() function

创建一个新数组, 深度优先遍历的Map函数(支持continue和break操作), 可用于insert tree item 和 remove tree item

可遍历任何带有 length 属性和数字键的类数组对象

Signature:

typescript
export declare function mapDeep<T>(tree: T[], iterator: (val: T, index: number, currentArr: T[], tree: T[], parent: T | null, level: number) => {
    [k: string | number]: any;
} | boolean, options?: {
    childField?: string;
    reverse?: boolean;
    breadthFirst?: boolean;
}): any[];

Parameters

Parameter

Type

Description

tree

T[]

树形数据

iterator

(val: T, index: number, currentArr: T[], tree: T[], parent: T | null, level: number) => { [k: string | number]: any; } | boolean

迭代函数, 返回值为true时continue, 返回值为false时break

options

{ childField?: string; reverse?: boolean; breadthFirst?: boolean; }

(Optional) 支持定制子元素名称、反向遍历,默认{ childField: 'children', reverse: false, }

Returns:

any[]

{any[]} 新的一棵树

Released under the MIT License.