从解析器数据中获取特定索引的信息

时间:2017-08-24 12:31:48

标签: javascript angular typescript formbuilder

我使用解析器从我的数据库中获取与提供的ID匹配的所有模型数据。 所以,我说给我所有的detailId = 140的模型数据,它返回一个数组中的所有结果,其中item具有detailId

即。     0: {detailId: 140, area: 4, depth: 1, complete: false} 1: {detailId: 140, area: 5, depth: 4, complete: false} 2: {detailId: 140, area: 6, depth: 8, complete: false} 3: {detailId: 140, area: 7, depth: 10, complete: false} 4: {detailId: 140, area: 8, depth: 3, complete: false} 5: {detailId: 140, area: 9, depth: 3, complete: false}

我想获取每个特定区域的深度值,以便我可以通过formBuilder动态分配值,如此(出于这些目的,区域:4 = index4等等)

(我在想某种方式将索引/区域值传递给在那里计算的函数?)

this.detailForm = new FormBuilder().group({
        index4: [this.getDepth(4)],
        index5: [this.getDepth(5)],
        index6: [this.getDepth(6)]
    });

对于一个函数,我有一些东西:

getDepth(index: number) {
   // return depth value where area == index
}

我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

我明白了:

index4: [this.getDetailAreaDepthByIndex(4)]

然后

getDetailAreaDepthByIndex(index: number): number {
    if (!this.detailArea)
        return null;

    let filteredItems = this.detailArea.filter(i => i.area === index) || [];

    return filteredItems.length > 0 ? filteredItems[0].depth : null;
}