typescript,把一个对象数组转换成map
时间: 2024-04-14 07:09:04 浏览: 430
可以使用 Array.reduce()
方法将对象数组转换成 Map。下面是一个 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。
阅读全文
相关推荐


















