TS 合并数组的方法
时间: 2024-11-20 08:54:53 浏览: 4
TS总结.md
在 TypeScript 中,合并数组通常有两种常见的方式,根据数组内容是否已知以及对类型安全的要求:
1. **使用扩展操作符** (`...`):
当你知道所有数组元素的类型并且想要直接合并数组时,可以使用扩展操作符。例如,如果你有两个数组都是 `number[]` 类型:
```typescript
const arr1: number[] = [1, 2, 3];
const arr2: number[] = [4, 5];
const mergedArr: number[] = [...arr1, ...arr2]; // 数组合并
```
2. **泛型函数** (如果有类型不确定性):
可以创建一个通用的合并函数,接受任意类型的数组作为参数:
```typescript
function merge<T>(array1: T[], array2: T[]): T[] {
return [...array1, ...array2];
}
const arr1: any[] = ['a', 'b'];
const arr2: string[] = ['c', 'd'];
const mergedArr = merge(arr1, arr2); // 警告:类型推断可能导致类型丢失
```
在这种情况下,可能会有类型警告,因为 TypeScript 无法确定合并后的数组类型。
3. **联合类型**:
如果不确定元素类型,可以用 `unknown[]` 或 `any[]` 来表示,但这会牺牲类型安全性:
```typescript
const arr1: unknown[] = ['a', 'b'];
const arr2: unknown[] = [1, true];
const mergedArr: unknown[] = [...arr1, ...arr2]; // 类型警告,但可以接受任何值
```
阅读全文