Hej, mam taką zagwozdkę w komponencie angularowym. Mianowicie mam tablicę składającą się z paru obiektów o różnych typach. Powiedzmy, że znajdują się w niej 2 obiekty typu A oraz 3 obiekty typu B. Chciałbym odfiltrować tabelę tak, żeby zostały mi tylko obiekty typu B. Jak najlepiej to zrobić?
0
1
array.filter(x => x instanceof B)
0
tsz napisał(a):
array.filter(x => x instanceof B)
Próbowałem tak, tylko w moim przypadku tablica jest IEnumerable i nie mogę użyć finda. Ale może da się to jakoś zastąpić?
1
Jak wpisuję IEnumerable
to mi wyskakują jakieś C#. Cokolwiek tam przychodzi możesz spróbować Array.from
1
Może kolega robi to po stronie serwera i tylko pomyliło mu się że to się dzieje "w angular" (czyli JS). Jeśli to C# to po prostu wywołaj tablica.Where(obj => obj is B)
. Jeszcze inna opcja to że piszesz kod w TypeScript (Angular natywnie używa TS). W nim również możesz wywołać Where
na instancji IEnumerable
: https://decembersoft.com/posts/typescript-vs-csharp-linq/