很多问题,但我找不到解决方案。
我有一个名为ClientDetails的打字稿界面:
interface ClientDetails {
clientId: number;
clientNo: number;
...
jobs: Job[];
}
我在类中创建了一个变量,如下所示:
client: ClientDetails;
因此“client”具有clientId,ClientNo和jobs []的值。
每个作业的结构都是“作业”界面
interface Job {
id: number;
agentJobNo: number;
jobNo: number;
jobType: string;
jobVisits: Visit[]
numberOfVisits: number;
status: string;
}
并且每个作业都有一个名为jobVisits的数组,该数组设置为“访问”界面:
interface Visit {
jobVisitId: number;
dateCreated: string;
visitDate: string;
startTime: string;
endTime: string;
}
我想获得特定工作中的所有jobVisits,因为我有job.id号码。
我使用了以下代码,并且能够获得正确的工作:
let test3 = this.client.jobs.filter(f => f.id === jobId);
我想要的是作业中的jobVisits数组,但是我试图获取这个子数组的所有内容都会遇到错误......
鉴于此结构Client.Jobs和id如何返回jobVisits数组?
答案 0 :(得分:1)
使用地图
扩展您的代码let test3 = this.client.jobs.filter(f => f.id === jobId);
if(test3 && test3.length > 0){
var visits = test3.map((j)=>{
return j.jobVisits;
});
}