# 3057-实现Push

# 题目描述

在类型系统里实现通用的 Array.push

例如:

type Result = Push<[1, 2], '3'>; // [1, 2, '3']

# 分析

其实一开始看到这种题目都是很不可思议,毕竟没人会在 ts 里面干这种事.

但是其实实现起来非常简单,只需要创建一个新类型,这个类型先把原来的元组复制一份,再向元组中增加一个元素。

而复制,仅仅需要扩展操作符,增加一个元素,写在新元组中即可。

# 题解

type Push<T extends any[], U> = [...T, U];

# 知识点

  1. 元组使用扩展操作符
Last Updated: 2023/5/16 06:00:28