Фильтрация наблюдаемого (без дубликатов) ⇐ Javascript
-
Гость
Фильтрация наблюдаемого (без дубликатов)
Я фильтрую Observable, но хочу удалить все дубликаты и неопределенные значения, поэтому я надеюсь использовать Set и некоторые проверки на null. Я надеюсь вернуть только значение dept.
Мой первый Observable выглядит так:
[ {код: 1, глубина: 2, высота: 3}, {код: 1, высота: 3} ] Иногда значение dept отсутствует, поэтому я хочу убедиться, что возвращаю его только тогда, когда оно есть.
Кроме того, я хочу вернуть только отделы (без дубликатов), поэтому вот мой код:
myObjects$ = this.myDummyService.getMyObjects() // возвращает макет объекта, как показано выше myDepts$ = this.myObjects$.pipe(map((myObjects) => { allObjects.filter((myObject:any) => { if(myObject.dept!== не определено) { вернуть мойОбъект.депт; } } }); Так что это работает для неопределенных значений (хотя, возможно, есть более элегантный способ). Но как я могу проверить на обманщиков? Я попробовал этот код, но получаю синтаксические ошибки:
myDepts$ = this.myObjects$.pipe(map((myObjects) => { const allMyObjects = allObjects.filter((myObject:any) => { if(myObject.dept!== не определено) { вернуть мойОбъект.депт; } } const noDupesDepts = новый набор (allMyObjects); });
Я фильтрую Observable, но хочу удалить все дубликаты и неопределенные значения, поэтому я надеюсь использовать Set и некоторые проверки на null. Я надеюсь вернуть только значение dept.
Мой первый Observable выглядит так:
[ {код: 1, глубина: 2, высота: 3}, {код: 1, высота: 3} ] Иногда значение dept отсутствует, поэтому я хочу убедиться, что возвращаю его только тогда, когда оно есть.
Кроме того, я хочу вернуть только отделы (без дубликатов), поэтому вот мой код:
myObjects$ = this.myDummyService.getMyObjects() // возвращает макет объекта, как показано выше myDepts$ = this.myObjects$.pipe(map((myObjects) => { allObjects.filter((myObject:any) => { if(myObject.dept!== не определено) { вернуть мойОбъект.депт; } } }); Так что это работает для неопределенных значений (хотя, возможно, есть более элегантный способ). Но как я могу проверить на обманщиков? Я попробовал этот код, но получаю синтаксические ошибки:
myDepts$ = this.myObjects$.pipe(map((myObjects) => { const allMyObjects = allObjects.filter((myObject:any) => { if(myObject.dept!== не определено) { вернуть мойОбъект.депт; } } const noDupesDepts = новый набор (allMyObjects); });
Мобильная версия