同步操作将从 阿森/js.tree 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import { defaultTo } from 'lodash'import { CHILDREN_KEY } from '../common/constants'import type { Row } from '../types'/*** 排除某些数据** @public** @param data - 数结构数据* @param callback - 处理回调,返回 true 的数据将被过滤掉* @param childrenKey - 自定义子节点属性名称*/export function exclude<T extends Row>(data: T[],callback: (data: T, index: number, parents: T[]) => boolean,childrenKey: string = CHILDREN_KEY): T[] {function iter(data: T[], parents: T[]): T[] {const items: T[] = []data.forEach((node, index) => {if (callback(node, index, parents)) {return}// 判读是否存在子级const children: T[] = defaultTo(node[childrenKey] as T[], [])if (children.length === 0) {items.push(node)return}const results = iter(children, parents.concat(node))if (results.length > 0) {items.push({ ...node, [childrenKey]: results })}})return items}return iter(data, [])}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。