Filtrar y ordenar una matriz de JavaScript
Tengo una matriz como esta:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}, {
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}]
Estoy tratando de crear una nueva matriz con los siguientes criterios:
Obtenga la calificación más alta (array.rating.average
) de cada número (array.number
)La salida debe ser:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}
}]
Acabo de ordenar por clasificación más alta:
array.sort(function(a , b) {
return a.rating.average - b.rating.average;
});
array.reverse();
Pero, ahora, solo quiero un objeto por duplicadoarray.number
, manteniendo el que tiene el más altoarray.rating.average
.