Estoy tratando de ordenar una matriz y obtengo el siguiente error.
"El argumento de tipo '(a: Usuario, b: Usuario) => número | indefinido' no se puede asignar al parámetro de tipo '(a: Usuario, b: Usuario) => número'".
¿Qué me estoy perdiendo? Estaré agradecido por su ayuda.
this.users.sort(function(a, b) { if (a.messagesLast && b.messagesLast) { return new Date(a.messagesLast.datemes).getTime() - new Date(b.messagesLast.datemes).getTime(); } return ; });Una función de comparación de clasificación de JavaScript debe devolver un número, consulte docs , en su implementación devuelve indefinido, si uno de los elementos no tiene la propiedad messagesLast .
Para mantener el orden original en este caso, debe devolver 0 en lugar de undefined .
this.users.sort(function(a, b) { if (a.messagesLast && b.messagesLast) { return new Date(a.messagesLast.datemes).getTime() - new Date(b.messagesLast.datemes).getTime(); } return 0; });