Tengo un objeto como este:
const array = { "clientName": "xyz", "exp": 0, "roles": [ "dist-users", "admin-dev" ] };
Quiero filtrar los roles según la prioridad como admin-* y luego la segunda prioridad como usuarios dist, si no hay ninguno presente, entonces por defecto dist-users. ¿Cómo lograr eso?
el filter itera sobre todos los elementos, no puede detenerlo.
No creo que este sea el enfoque correcto, debe usar Array.find o Array.findIndex para sondear la matriz de roles y averiguar si tiene un elemento que comienza con el prefijo deseado.
const array = { "clientName": "xyz", "exp": 0, "prefUserName": "admin-dev", "roles": [ "dist-users", "admin-dev" ] }; const admin = array.roles.find(role => role.includes('admin-')) const dist = array.roles.find(role => role.includes('dist-users')) const roles = [ admin || dist || 'dist-users' ] console.log(roles)