Destrukturyzacja w funkcji strzałkowej

0
public getOffbordingEmployees(): Observable<IEmployee[]> {
    return this.employees$.pipe(
      map(el => el.filter(item => item.offboarding?.state == true))

Jak moglbym w powyzszym przykladzie zastosowac destrukturyzacje na state?
Pomijajc juz to ze nie musze przyrownywac

2

Chodzi Ci o coś takiego?

el.filter(({ offboarding: { state } }) => state))

 
 
EDIT: Można jeszcze przypisać domyślną wartość
 
W tym wypadku powinien wystarczyć taki zapis, bo offboarding istnieje, ale nie ma zawsze właściwości state

el.filter(({ offboarding: { state = false } }) => state))

Tutaj zamiast false, oczywiście może być dowolna wartość jakiej potrzebujemy.

1

Pytanie tylko po co?

Jak dla mnie takie zabiegi w tym przypadku zaciemniają tylko kod nie dając żadnego zysku.

2
el.filter(({ offboarding: { state = false } }) => state))

vs

el.filter(e => e.offboarding.state || false)

No HMMMMMM, które jest czytelniejsze.

0
TomRiddle napisał(a):
el.filter(({ offboarding: { state = false } }) => state))

vs

el.filter(e => e.offboarding.state || false)

No HMMMMMM, które jest czytelniejsze.

Druga wersja, ale pytanie było jak użyć destrukturyzacji w tym konkretnym przypadku, a nie jaka wersja jest czytelniejsza.

1
Xarviel napisał(a):

Druga wersja, ale pytanie było jak użyć destrukturyzacji w tym konkretnym przypadku, a nie jaka wersja jest czytelniejsza.

A jak ktoś pyta "Jak użyć węża ogrodowego do zawiązania butów?" to też odpowiadasz, czy raczej mówisz że to nie ma sensu?

0
TomRiddle napisał(a):
Xarviel napisał(a):

Druga wersja, ale pytanie było jak użyć destrukturyzacji w tym konkretnym przypadku, a nie jaka wersja jest czytelniejsza.

A jak ktoś pyta "Jak użyć węża ogrodowego do zawiązania butów?" to też odpowiadasz, czy raczej mówisz że to nie ma sensu?

Jakbym wiedział jak zawiązać buty za pomocą węża ogrodowego to powiedziałbym bym jak to zrobić i najwyżej później dodałbym drugi sposób jak to zrobić lepiej :]

Nie zawsze trzeba z tego korzystać w taki sposób, ale wiedza, że istnieje taka możliwość nie zaszkodzi.

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