Estoy tratando de cargar la sectionRoles que solo contiene la que se proporciona en la matriz en la función filterData pero no devuelve los elementos filtrados.
¿Cómo hago esto?
Simplemente, vea que los datos contienen muchos registros, pero quiero que contenga solo el registro que se proporciona en la matriz.
async getAllSectionRoles() { debugger; let data = await this.adminService.getAllSectionRoles().toPromise(); this.sectionRoles = data; this.sectionRoles = data.filter(item => this.filterData(item.Id)) } filterData(itemId) { let arr= [SectionRoleType.ResearchAndStudy, SectionRoleType.Readings, SectionRoleType.TaqareerAlBahasElmi, SectionRoleType.TaqreerMoqaf, SectionRoleType.WarqaSeyassie, SectionRoleType.Derasat, SectionRoleType.TaqareerDawreya, SectionRoleType.ErhaabDowaly ]; return arr.find(itemId); }Creo que en lugar de matriz, puedes usar Establecer aquí
Suponiendo que su item.id es uno de los valores de SectionRoleType
let arr= [SectionRoleType.ResearchAndStudy, SectionRoleType.Readings, SectionRoleType.TaqareerAlBahasElmi, SectionRoleType.TaqreerMoqaf, SectionRoleType.WarqaSeyassie, SectionRoleType.Derasat, SectionRoleType.TaqareerDawreya, SectionRoleType.ErhaabDowaly ]; const filters = new Set(arr);y entonces
this.sectionRoles = data.filter(item => filters.has(item.Id))Puedes usar Array.includes para eso
const arr= [SectionRoleType.ResearchAndStudy, SectionRoleType.Readings, SectionRoleType.TaqareerAlBahasElmi, SectionRoleType.TaqreerMoqaf, SectionRoleType.WarqaSeyassie, SectionRoleType.Derasat, SectionRoleType.TaqareerDawreya, SectionRoleType.ErhaabDowaly ]; this.sectionRoles = data.filter(item => arr.includes(item.Id))