我们有 2 个数组,一个是 AnswersList[],它包含所有可能的问题答案。
我们已将 AnswersList[] 拆分为 6 个单独的数组 {性别、年龄、残疾、种族、宗教、性取向}。对于这个问题,如果我们使用genderList[]。
主数组是 EqualityAnswers[] 这是 IApplicantAnswers 类型。
import {IAnswers} from "../Enum/answer.model";
export interface IApplicantAnswers {
ApplicantAnswersKey: number;
CompetitionKey: number;
Gender: IAnswers;
Age: IAnswers;
SexualOrientation: IAnswers;
Religion: IAnswers;
EthnicOrigin: IAnswers;
Disability:IAnswers;
}
我们希望能够做的是检查也是 IAnswer 类型的性别列表 []
export interface IAnswers {
AnswerKey: number;
QuestionKey: number;
Name: string;
Description: string;
}
所以我想要做的是针对每种类型的genderList[i].AnswerKey 我想看看有多少人在EqualityAnswers[] 中选择了它。
最初我正在考虑循环genderList[]然后过滤EqualityAnswers[].Gender.AnswerKey并返回长度。
问题是将其分配给一个 ResourceList 数组
export class ResourceList {
Name: string;
Count: number;
}
称为性别计数列表:ResourceList[];
这个想法是,genderCountList 将是 {name:"female", count:2}, {name:"male", count:5}, {name:"prefer not to say", count: 3}
然后我将能够使用它来动态构建我的表。这将允许我们在数据库级别添加答案。
唯一的问题是我有思维锁定,无法思考如何构建它。
因此,在 Ricardo 的帮助下,我非常感谢我根据他的建议成功地完成了这项工作。
getListOfGendersWithCount(): void {
var self = this;
this.genderList.map(function (item, index) {
var gender = new ResourceList();
gender.Name = item.Description;
gender.Count = self.equalityData.filter(x => x.Gender.AnswerKey === item.AnswerKey).length;
self.genderCountList.push(gender);
return item;
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句