Я возвращаю массив Observables из firestore и хочу упорядочить их по индексу, созданному мной для объекта в базе данных.
Они хранятся в базе данных примерно так:
Затем они отображаются в пользовательском интерфейсе в порядке, основанном на идентификаторе ключа (в алфавитном порядке), однако я хочу, чтобы они упорядочивались в пользовательском интерфейсе на основе индекса. Однако мне нужно сохранить идентификатор в качестве начального ключа.
Я попытался сопоставить значения и использовать sort () для упорядочения по индексу, показанному в оде ниже, но все равно возвращает в случайном порядке.
Вот как я использовал карту, чтобы попытаться упорядочить по значению ключа индекса.
this.bedrooms$ = this.property$.pipe(
flatMap((property: any) => this._property.getAllBedrooms(property.bedrooms, this.propertyId))
);
this.sortedBedroom$ = this.bedrooms$.pipe(
map((room: any) => {
return room.sort((a: any, b: any) =>
b.index - a.index
);
}
)
);