Skip to content

Latest commit

 

History

History
25 lines (16 loc) · 798 Bytes

Shift.md

File metadata and controls

25 lines (16 loc) · 798 Bytes
标题 标签
Shift(删除数组第一项) extends, array(继承, 数组)

删除数组第一项。

  • T 继承任意类型数组,使用 any 推断数组第一项(因为要移除第一项,而第一项用不到,所以使用 any 表示),infer 关键字推断数组剩余项 R,返回 R,否则返回原数组 T。

代码如下:

type Shift<T extends any[]> = T extends [any, ...infer R] ? [...R] : T;

使用方式:

type ShiftResult = Shift<[3, 2, 1]>; // [2, 1]

应用场景

如下所示, 鼠标悬浮到对应的类型变量可以查看类型。