javascript / typescript - 访问对象数组中的值2级

时间:2018-01-07 09:10:52

标签: javascript arrays typescript

很多问题,但我找不到解决方案。

我有一个名为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数组?

enter image description here

1 个答案:

答案 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;
                         });
}