[!Typescript] 82. Medium - Combination

Given an array of strings, do Permutation & Combination. It's also useful for the prop types like video controlsList

// expected to be `"foo" | "bar" | "baz" | "foo bar" | "foo bar baz" | "foo baz" | "foo baz bar" | "bar foo" | "bar foo baz" | "bar baz" | "bar baz foo" | "baz foo" | "baz foo bar" | "baz bar" | "baz bar foo"`
type Keys = Combination<['foo', 'bar', 'baz']>

 

type Combination<T extends string[], U = T[number], K = U> = K extends U
  ? K extends string
    ? K | `${K} ${Combination<[], Exclude<U, K>>}`
    : ''
  : '';

 

posted @   Zhentiw  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-10-31 [Kubernetes] Pod Health
2019-10-31 [React] Write a Custom State Hook in React
2019-10-31 [React] Use the React Effect Hook in Function Components
2017-10-31 [RxJS] Marbles Testings
2016-10-31 [Angular2Fire] Firebase auth (Google, Github)
点击右上角即可分享
微信分享提示