Admin.UI/src/utils/index.js
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
import dayjs from 'dayjs'
export function formatTime(date, pattern) {
return dayjs(date).format(pattern)
}
export function deepClone(data) {
return JSON.parse(JSON.stringify(data))
}
export function treeToList(tree = [], idValue = null, childrenField = 'children', idField = 'id', parentIdField = 'parentId') {
const list = []
if (!childrenField) childrenField = 'children'
for (let i = 0, j = tree.length; i < j; i++) {
const d = tree[i]
const id = d[idField]
if (!list.some(l => l[idField] === id)) {
list.push(d)
}
if (parentIdField) d[parentIdField] = idValue
const children = d[childrenField]
if (children && children.length > 0) {
const items = treeToList(children, id, childrenField, idField, parentIdField)
const values = items.values()
for (const v of values) {
if (!list.some(l => l[idField] === v[idField])) {
list.push(v)
}
}
}
}
return list
}
export function listToTree(list = [], root = null, idField = 'id', parentIdField = 'parentId') {
const tree = []
const hash = {}
const childrenField = 'children'
for (let i = 0, l = list.length; i < l; i++) {
const d = list[i]
hash[d[idField]] = d
}
for (let i = 0, l = list.length; i < l; i++) {
const d = list[i]
const parentID = d[parentIdField]
if (parentID === '' || parentID === 0) {
tree.push(d)
continue
}
const parent = hash[parentID]
if (!parent) {
tree.push(d)
continue
}
let children = parent[childrenField]
if (!children) {
children = []
后面还有 41 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
