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());