[Typescript] 31. Medium - Length of String

Compute the length of a string literal, which behaves like String#length.

/* _____________ Your Code Here _____________ */

type LengthOfString<S extends string, ACC extends any[] = []> = S extends '' ? ACC['length']: S extends `${infer First}${infer RT}` ? LengthOfString<RT, [...ACC, First]> : never;


/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'

type cases = [
  Expect<Equal<LengthOfString<''>, 0>>,
  Expect<Equal<LengthOfString<'kumiko'>, 6>>,
  Expect<Equal<LengthOfString<'reina'>, 5>>,
  Expect<Equal<LengthOfString<'Sound! Euphonium'>, 16>>,
]

 

posted @   Zhentiw  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-09-14 [TypeScript] Collect Related Strings in a String Enum in TypeScript
2018-09-14 [TypeScript] Overload a Function with TypeScript’s Overload Signatures
2018-09-14 [TypeScript] Use TypeScript’s never Type for Exhaustiveness Checking
2018-09-14 [TypeScript] Represent Non-Primitive Types with TypeScript’s object Type
2017-09-14 [Vue + TS] Create your own Decorators in Vue with TypeScript
2017-09-14 [Vue + TS] Use Dependency Injection in Vue Using @Inject and @Provide Decorators with TypeScript
2017-09-14 [D3JS] Add more map layer and color
点击右上角即可分享
微信分享提示