Tengo que ordenar los datos que vienen del servidor dinámicamente por diferentes campos. Está funcionando perfectamente con todos los campos excepto por franja horaria. Tengo que ordenar los datos por campo de intervalo de tiempo en orden ascendente, el problema es que el intervalo de tiempo es una cadena, por ejemplo: "09: 00-09: 59".
Mi función de clasificación es:
function sortArray(array: any[], direction: string, extractor: (any) => any): any[] { return array.sort((e1, e2) => (direction === 'asc' && extractor(e1) > extractor(e2)) || (direction !== 'asc' && extractor(e1) < extractor(e2)) ? 1 : -1 ); }¿Cómo puedo arreglarlo? Si alguien sabe, por favor hágamelo saber. Gracias.
Su función sortArray está bien. Debe verificar que sort.active y sort.direction se actualicen correctamente.
Prueba así:
console.log('this.sort.active', this.sort.active); console.log('this.sort.direction', this.sort.direction);Y si no se están actualizando, entonces este es el problema. Luego revise su lógica de actualizar estas cosas.