You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript:如何为链表定义递归接口?

正确定义链表结构的TypeScript递归接口

原代码里的next类型定义有误,要实现链表的嵌套递归结构,应该让next字段的类型指向接口自身,而非使用Record类型。正确的递归接口定义如下:

interface List {
  data: number;
  next: List | null;
}

这样定义后,链表节点的next字段既可以是另一个同类型的List节点,也可以是null(用来标记链表尾部),完全匹配链表的嵌套特性。

测试示例:

let node: List = {
  data: 1,
  next: {
    data: 2,
    next: {
      data: 3,
      next: null
    }
  }
};

该接口可以适配任意层级的链表嵌套,TypeScript会自动完成类型校验。

内容的提问来源于stack exchange,提问作者user1715

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:27:01