V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  daguaochengtang  ›  全部回复第 6 页 / 共 29 页
回复总数  573
1 ... 2  3  4  5  6  7  8  9  10  11 ... 29  
2021 年 1 月 21 日
回复了 tesorouo 创建的主题 问与答 个人博客一般怎么增加用户粘性?
多开车
2021 年 1 月 19 日
回复了 polyang 创建的主题 程序员 在外包呆久了真的很可怕,感觉我快要废了
不在外包回家可能依然不想学习
2020 年 12 月 29 日
回复了 wsseo 创建的主题 Android 小米 11 发布了!
好家伙,今天热议的贴有 3 个是小米 11
2020 年 12 月 28 日
回复了 daguaochengtang 创建的主题 问与答 有哪些好玩的魔兽 rpg 战役地图?
2020 年 12 月 28 日
回复了 daguaochengtang 创建的主题 问与答 有哪些好玩的魔兽 rpg 战役地图?
@CismonX 好哒
2020 年 11 月 29 日
回复了 daguaochengtang 创建的主题 程序员 typescript 如何定义无限嵌套的对象数组类型?
@joesonw 好嘞,我试试
2020 年 11 月 27 日
回复了 daguaochengtang 创建的主题 程序员 typescript 如何定义无限嵌套的对象数组类型?
@joesonw
感谢你提供的思路,我改写了下,现在成功了:
export interface Obj<T>{
[k: string]: any
children: Array<Obj<T>>
}

export function flatObjectArray<T>(array: Array<Obj<T>>): Array<Obj<T>> {
const res: Array<Obj<T>> = []
function recursive(target: Array<Obj<T>>) {
target.map((item: Obj<T>) => {
res.push(item)
if(item.hasOwnProperty('children') && item.children.length) {
recursive(item.children)
}
})
}
recursive(array)
return res
}

http://ww1.sinaimg.cn/large/d7f38664ly1gl3u08hugmj20nk0elmyi.jpg

不过,我现在是把 children 这个参数固定死了,如果我希望使用动态的 children,并且在函数定义中明确指定 children 这个参数不能是其它 key 的话(你上面 children: keyof T 的写法 children 实际可以传入 a,b,c 等),应该怎么写呢?

我初步的想法是

export interface Obj<T>{
[k: string]: any
[children: string]: Array<Obj<T>>
}
可是应该怎么定义函数的 children 参数的类型呢?
2020 年 11 月 27 日
回复了 daguaochengtang 创建的主题 程序员 typescript 如何定义无限嵌套的对象数组类型?
@ytxbnahn 可能我表达的不够清楚,{name,children}只是举个例子,实际上 flat 函数应该处理的是一个泛型的对象数组,比如可能是[{a, b, c, children}]或者[{x, y, children}],甚至我希望 children 是可以配置的,比如叫 child (参考我的 flat 函数,children 参数给了默认值是可以传入其它参数的)。这样的话要怎么定义呢?
2020 年 11 月 2 日
回复了 daguaochengtang 创建的主题 问与答 车险续保的问题?
@sigl0p 你买的哪家保险公司的保险,以及买了哪些险种?我周末定了太平洋 3100 多...
2020 年 10 月 30 日
回复了 daguaochengtang 创建的主题 问与答 车险续保的问题?
@sigl0p 你的为啥这么便宜啊,我车落地 20 万多,今天看了人保、平安、太平洋,最低也要 3000 多啊
2020 年 10 月 30 日
回复了 daguaochengtang 创建的主题 问与答 车险续保的问题?
@mengzhuo 有剐蹭的,只不过为了防止第二年保费上调,没走保险
1 ... 2  3  4  5  6  7  8  9  10  11 ... 29  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2770 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 03:13 · PVG 11:13 · LAX 19:13 · JFK 22:13
♥ Do have faith in what you're doing.