/** * 将数组转化为树形结构数组,在转化后的树形结构的数组中,子级元素会被添加到父级元素的 children 属性中,children 属性是一个数组类型 * * @param {any[]} origin 原数组 * @param {string} primaryFieldName 数组中元素的主键字段名 * @param {string} parentFieldName 数组中元素用于表示其父级元素的字段名 * @param {boolean} isPath 是否需要生成从根节点到当前子级节点的路径,默认为 false,生成的路径是由当前子级节点的主键值加上父级节点的主键值 * 组成的数组,如果当前节点为根节点,则路径为空数组 * @param {string} pathFieldName 需要生成从根节点到当前子级节点的路径时,用于存储路径数据的字段名,默认为 'path' * @returns {{tree: Array, map: Record}} 树形结构数组和映射表组成 * 的对象,其中 tree 为树形结构数组,map 为映射表,映射表的 key 为数组元素的主键值,映射表的 value 为数组元素 */ export declare const convert2Tree: (origin: any[], primaryFieldName: string, parentFieldName: string, isPath?: boolean, pathFieldName?: string) => { tree: Array; map: Record; }; /** * 将数组转化为映射表 * * @param {any[]} origin 原数组 * @param {string | ((item: any) => (string | number | symbol))} primaryFieldName 数组元素的主键字段名,数组转化为映射表时,数组 * 元素的主键字段值将会作为映射表的 key,映射表的 key 需要的类型为 `string | number | symbol`,如果传入的是字符串数据作为参数,则该参数为 * 数组元素的主键字段名,如果传入的是函数类型作为参数,则该函数将会接收当前正在遍历处理的数组元素作为参数,该函数需要返回该元素在映射表中 key * @returns {Record} 数组转化后的映射表 */ export declare const convert2Map: (origin: any[], primaryFieldName: string | ((item: any) => string | number | symbol)) => Record<(string | number | symbol), any>; /** * 将树形结构数组扁平化为一维数组 * * @param {Array} tree 树形结构数组 * @param {string} childrenFieldName 树形结构数组中父节点中存放子节点的字段名,默认为 'children' * @returns {Array} 扁平化后的一维数组 */ export declare const flattenTree: (tree: Array, childrenFieldName?: string) => Array;