我有一个名为MasterSection
的文件,它定义了什么是节,其中包含节的逻辑。其他各个部分(食物部分,电视部分)都来自MasterSection
逻辑。在MasterSection
中,我有一个名为SectionInfo
的接口,该接口具有Section的属性,例如id,size等。现在,对于我正在处理的当前部分,我需要访问此接口的属性。 (SectionInfo)。为此,我必须首先获取选定的部分。为此,我们在MasterSection
中使用一个称为getSelectedSections
的函数。以下功能位于我正在研究的问题所在的部分:
function getSectionInfo(sectionType: string): number[] {
const sectionInfo: MasterSection.SectionInfo[] = MasterSection.Model.Sections.SectionInfo;
const selectedIds: number[] = MasterSection.getSelectedSections(MasterSection.Model.SectionType.CafeSection.Key);
const cafeInfo = sectionInfo
.filter((selectedSectionPks: MasterSection.SectionInfo) => selectedSectionPks.indexOf( /*What goes here??*/ !== -1))
.map((selectedSectionPks: MasterSection.SectionInfo) => $'{selectedSectionPks.id}{selectedSectionPks.size}"); //Is this correct?
return cafeInfo;
}
MasterSection.ts中的export function getSelectedSections(sectionType: string): number[] {
return MasterSection.SelectedSections
.filter((selectedSection: MasterSection.SelectedSections) => selectedSection.SectionKey ===
sectionKey)
.map((selectedSection: MasterSection.SelectedSections) => selectedSection.Id);
}
export interface SectionInfo {
Id: string;
DaysVisited: string;
createdBy: string;
size: string;
}
我正在尝试获取SectionInfo的属性,但是已经很长时间了,似乎我缺少了一些东西。我已经在//代码中注释了需要帮助的部分。预先感谢!
答案 0 :(得分:2)
对于filter
行,我认为您可能正在寻找:
.filter((selectedSectionPks: MasterSection.SectionInfo) =>
selectedIds.indexOf(parseInt(selectedSectionPks.Id)) !== -1)
如果我理解正确,selectedIds
具有选定ID的数组,因此对于每个SectionInfo
对象(绑定到selectedSectionPks
),您要检查其ID是否在该数组中。我放入parseInt
是因为您已将Id
的{{1}}属性声明为字符串,但是SectionInfo
是selectedIds
。检查这就是您想要的。
对于number[]
行,如果要创建一个包含map
和Id
字段的字符串,则字符串插值的正确语法为:
size
当然,您可能希望在两个字段之间添加分隔符,以使其更易于在另一侧进行解析。