angular - 从第三个数组中的两个数组中过滤数据
问题描述
我试图取两个数组的补码,并用剩余的数据填充第三个数组。我有一个this.subjects
对象和一个this.teacerData
属性,我从中取出主题代码并将它们放在两个不同的数组中。现在我试图过滤掉两个数组中不相等的数据并将其放入第三个数组中。
subj: Subjects[];
teacherSubjects: string[];
data: string[];
filteredData: string[];
addsubject: AddTeacherSubject = new AddTeacherSubject();
teacherData: TeacherUpdateDataDto = new TeacherUpdateDataDto();
ngOnInit() {
this._curriculumService.getSubject(this.appSession.tenant.tenancyName)
.finally(() => { this.saving = false;})
.subscribe((result: listResultDtoOfSubjectDto) => {
this.subjects = result.items;
this.teacherSubjects = this.subjects.map(a => a.code);
console.log("All Subjects =" + this.teacherSubjects);
})
this._teacherService.GetTeacherUpdateData(this.appSession.tenant.tenancyName,
this._sharedService.getMessage())
.finally(()=> { this.saving = false;})
.subscribe((result: TeacherUpdateDataDto) => {
this.teacherData = result;
this.subj = this.teacherData.subject;
this.data = this.subj.map(a => a.code);
})
}
this.subjects DTO
(3) [subjectlistDto, subjectlistDto, subjectlistDto]
0 :
subjectlistDto {name: "Mathematics", code: "mathematics", classCode: "bscs",
classNAME: "BSCS"}
1 :
subjectlistDto {name: "English", code: "english", classCode: "bscs",
classNAME: "BSCS"}
2 :
subjectlistDto {name: "Islamiat", code: "islamiat", classCode: "bscs",
classNAME: "BSCS"}
this.teacherData Dto
subject:Array(2)
0:
{code: "mathematics"}
1:
{code: "english"}
我需要filteredSubjects 数组中的过滤数据。我怎样才能做到这一点?
解决方案
我是这样做的
刚刚从 ngOnInit 和
Data(subjec: string[], compar: string[]) {
this.filteredData = [];
for(var i = 0; i< subjec.length; i++) {
if(compar.indexOf(subjec[i]) === -1){
this.filteredData.push(subjec[i]);
}
}
for(var j = 0; j<compar.length; j++) {
if(subjec.indexOf(compar[j]) === -1){
this.filteredData.push(compar[j]);
}
}
return this.filteredData;
}
推荐阅读
- c++ - std::search 找到最右边的子序列
- c# - c# SetIfChanged-Method with Expressions
- python-3.x - 如何通过颜色过渡为两条线之间的空间着色?
- amazon-web-services - 将文件从 ECS 容器下载到本地计算机的最简单方法是什么?
- java - Spring SimpleJdbcCall 和 Beanpropertyrowmapper
- mysql - 如何在 SQL 上获取下一个付款日期
- spring - 扩展 Spring 安全用户类
- visual-studio-2019 - 我无法签署 bin\Debug\Mainpaint.exe
- ios - UICollectionView 的宽度在 UITableViewCell 内没有改变
- python - 使用 Python 和 Gmail API 将电子邮件标记为已读