| 特性 | Array(数组) | Set | Map |
|---|---|---|---|
| 类型 | 顺序值的列表 | 唯一值的集合 | 键值对的集合 |
| 下标访问 | 有:arr[0] | 没有下标 | 不能用下标,使用 .get(key) |
| 允许重复值 | ✅ 是 | ❌ 否(自动去重) | ✅ 值可以重复,key 不重复 |
| 键类型 | 数字索引(0, 1, 2...) | 值本身 | 任意类型作为 key |
| 遍历方式 | forEach, map, for | for...of, .forEach() | for...of, .forEach() |
| 本质 | 真正的数组(Array) | 集合(Set) | 哈希映射(Map) |
Set → 数组
js
复制编辑
const set = new Set([1, 2, 3]);
const arr = [...set]; // [1, 2, 3]
Map → 数组(二维)
js
复制编辑
const map = new Map([['a', 1], ['b', 2]]);
const arr = [...map]; // [['a', 1], ['b', 2]]