Przekazywanie wielu opcji dla jednego argumentu funkcji

0

Cześć, piszę mam nadzieję z błachym problemem. W aplikacji angularowej posiadam funkcję która jako wartość wejściową oczekuje stringa i filtruje po nazwach obiektów które posiadam i zwraca odpowiednie opcje i czy podany komponent ma być disabled, jeżeli nie posiada właśnie tych podanych opcji.
Obiektów jest wiele.

Chcę aby dany komponent, był aktywny jeżeli użytkownik ma jedną z trzech opcji, o nazwach np: ‚abc_a_mobile’ , ‚abc_r_mobile’, ‚abc_a_app’. Chciałabym przekazać te nazwy obiektów w wartości wejściowej funkcji. Opcja z przekazywaniem wszystkich trzech nazw i oddzielania ich za pomocą operatora || nie wchodzi w grę.

Funkcja:

public active: string[] = [];

isUserActive(product: string): boolean {
  return this.appService.active.filter( (el: string) => el.includes(product)).length > 0;
}

Użycie:

{
 disabled: !this.service.isUserActive(?)
}

Jak tutaj właśnie przekazać to oby była jedna z tych opcji: abc_a_mobile, abc_r_mobile, abc_a_app. Czy trzeba utworzyć jakiś obiekt, czy kolejną funkcję ? Może jest jakieś szybsze rozwiązanie?

1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some

Chodzi Ci chyba o coś takiego:

public active: string[] = [];

isUserActive(...products: string[]): boolean {
  return this.appService.active.some((product) => products.includes(product));
}

Użycie:

this.service.isUserService('x', 'y', 'z');

1 użytkowników online, w tym zalogowanych: 0, gości: 1