'TypeScript issue with find and filter
let access = environment.access.filter(it => it.roleName === userRole);
let access = environment.access.find(it => it.roleName == userRole);
Property 'filter' does not exist on type '{ siteadmin: string[]; manager: string[]; employee: string[]; contractor: any[]; }'.
This should work but I can't figure out why it's throwing this error when i ng build or ng serve
using Angular 13
Environment.ts
export const environment = {
production: false,
baseUrl:"https://localhost:5001/api/",
access: [{
roleName:"siteadmin",
access:['page1','home', 'usermanagement']
},
{
roleName:"manager",
access:['home']
},
{
roleName:"employee",
access:['page1','home']
},
{
roleName:"contractor",
access:['page1','home', 'usermanagement']
}
],
};
access is an array of objects
Solution 1:[1]
I bet the problem is that you've edited the environment.ts file, but you haven't updated the environment.prod.ts (or the equivalent for whatever configuration you've supplied with ng serve) file to match the same structure. Angular performs a file replacement as part of its build process that won't be caught by your editor's type checking.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | mortalapeman |