Typescript:如何将一个对象的数组转换为另一个具有类似字段的对象
我有两个目标Typescript:如何将一个对象的数组转换为另一个具有类似字段的对象,typescript,Typescript,我有两个目标 class Student{ name:string; rollNo:number; address:string; city:string; phone:string } class User{ name:string; rollNo:number; } 我正在使用它将学生数组转换为用户数组,这样所有相同的属性都会自动映射,但不起作用 arrayOfStudent:Student[] User[]= arrayOfStudent as User[] 这个怎么样 cla
class Student{
name:string;
rollNo:number;
address:string;
city:string;
phone:string
}
class User{
name:string;
rollNo:number;
}
我正在使用它将学生数组转换为用户数组,这样所有相同的属性都会自动映射,但不起作用
arrayOfStudent:Student[]
User[]= arrayOfStudent as User[]
这个怎么样
class User{
name:string;
rollNo:number;
}
class Student extends User{
address:string;
city:string;
phone:string;
}
const arrayOfStudents: Student[] = <your array here>;
const arrayOfUsers = arrayOfStudents as User[];
然后像这样映射学生数组:
const arrayOfUsers = arrayOfStudents.map(student => student.asUser());
不,我不想这样,还有其他方法吗?您可以尝试在Student类上创建一个方法,将学生映射为用户,然后映射整个数组。让我更新答案……就typescript而言,学生已经是用户了。您可以在需要用户的任何地方使用学生。不需要转换。这里的实际目标是什么?如何构造这些对象以确保所有属性都已设置?根据这里的代码,学生和用户应该只是一个接口,而不是一个类。
const arrayOfUsers = arrayOfStudents.map(student => student.asUser());