## 不支持空数组/稀疏数组 

**规则：** `arkts-no-sparse-array`

**规则解释：**

ArkTS-Sta要求数组元素类型明确（显式声明类型或可通过上下文推导类型），禁止稀疏存储（避免内存浪费），且不允许undefined空位（确保空值安全）。

**变更原因：**

1. ArkTS-Sta遵循静态类型，如果空数组无法根据上下文推导出元素类型，会导致编译错误。

2. ArkTS-Sta的数组是连续存储的，使用空位（如 [1, , , 2]）会浪费内存。

3. ArkTS-Sta遵循空值安全，无法使用默认undefined表示空缺。

**适配建议：**

为数组标注合适的类型，不使用具有空洞的数组。

**示例：**

ArkTS-Dyn

```typescript
let a = []; // ArkTS-Sta，编译错误，需要从上下文中推导数组类型
let b = [1, , , 2]; // 不支持数组中的空位
b[1];  // undefined 
```

ArkTS-Sta

```typescript
let a: number[] = [];  // 支持，ArkTS-Sta上可以从上下文推导出类型
let b = [1, undefined, undefined, 2];
```