Me gustaría saber cómo "ordenar dos veces" los elementos en reaccionar nativo para obtener una lista ordenada de criterios dobles.
Los datos que recibo de BE son una lista de partidos: cada partido es un objeto que contiene 2 jugadores, un tiempo y una competición.
Me gustaría ordenar los elementos por tiempo (para que un partido de hoy se muestre antes que un partido de mañana) y por competencia (para que una competencia más importante se muestre antes que una inferior).
Si se juegan dos o más partidos el mismo día y dentro de la misma competición, se muestra antes el partido anterior.
Un esquema muestra mejor lo que quiero decir: me gustaría personalizar la interfaz de usuario de la fila del día, la fila de la competencia y la fila del partido.
Los datos que recibo de BE están formateados de esta manera:
¿Cómo podría obtener lo que quiero? Lo he intentado con la lista ordenable pero sin resultado.
TY por adelantado
Los documentos de javascript para ordenar muestran que puede ordenar usando una función arbitraria. Escribiría una función que primero compare días y luego compare competencias:
function compareByDayThenByCompetition(a, b) { if (a.day < b.day) { return -1; } if (a.day > b.day) { return 1; } return a.competition - b.competition; } events = [{day:3, competition:2}, {day:3, competition:3}, {day:3, competition:1}, {day:2, competition:1}] console.log(events.sort(compareByDayThenByCompetition))La mejor manera de filtrar dichos datos es.