MST

星途 面试题库

面试题:TypeScript中Record工具类型在对象转换场景的应用

假设有一个接口`UserInfo`,包含`name`(字符串类型)和`age`(数字类型)属性。现在有一个数组,数组中的每个对象只有`id`(字符串类型)属性。请使用Record工具类型创建一个新的对象,新对象的键是数组中对象的`id`,值是符合`UserInfo`接口的对象,初始值为`{name: '', age: 0}`。请写出实现代码。
34.0万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
interface UserInfo {
    name: string;
    age: number;
}

const arr = [{ id: '1' }, { id: '2' }];

const result: Record<string, UserInfo> = {};
arr.forEach(item => {
    result[item.id] = { name: '', age: 0 };
});

console.log(result);