typescript,把一个对象数组转换成map
时间: 2024-04-14 09:09:04 浏览: 370
可以使用 `Array.reduce()` 方法将对象数组转换成 Map。下面是一个 TypeScript 示例:
```typescript
interface MyObject {
id: number;
name: string;
}
const myArray: MyObject[] = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' }
];
const myMap = myArray.reduce((map, obj) => {
map.set(obj.id, obj);
return map;
}, new Map<number, MyObject>());
console.log(myMap);
```
这将输出以下内容:
```
Map(3) {
1 => { id: 1, name: 'Alice' },
2 => { id: 2, name: 'Bob' },
3 => { id: 3, name: 'Charlie' }
}
```
这里我们使用 `reduce()` 方法将对象数组转换成 Map,其中:
- `map` 是累加器,初始值为 `new Map<number, MyObject>()`,即一个空 Map。
- `obj` 是当前处理的对象。
- 我们将 `obj.id` 作为键,`obj` 作为值,将其添加到 Map 中。
- `reduce()` 方法的返回值就是最终的 Map。
阅读全文