我使用解析器从我的数据库中获取与提供的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
}
我该如何做到这一点?
答案 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;
}