Я немного обновляю этот вопрос. Предположим, у нас есть такие домашние питомцы ( Этот ТАК вопрос ):
const pets = [
{type:"Dog", name:"Spot"},
{type:"Cat", name:"Tiger"},
{type:"Dog", name:"Rover"},
{type:"Cat", name:"Leo"}
];
Мы получаем их как Observable<Pet[]>
. Мы бы подписались и использовали группу, описанную в справочном вопросе, чтобы классифицировать домашних животных по типу. Другими словами:
petsObservable.subscribe(petsArray=>...categorize them using plain javascript)
const groupedPets = groupBy(pets, pet => pet.type);
Однако мне любопытно, существует ли более короткий и элегантный подход к этому с использованием операторов RxJS для получения прямого результата, на который мы можем подписаться? Что-то вроде:
petObservable.pipe(...apply operators).subscribe( map=>)
Также любопытно, будет ли использование операторов RxJS превышать / понижать производительность в соответствии с обсуждением в первом ответе?