Filtrar e classificar uma matriz JavaScript
Eu tenho uma 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
}
}]
Estou tentando criar uma nova matriz com os seguintes critérios:
Obter a classificação mais alta (array.rating.average
) de cada número (array.number
)A saída deve ser:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}
}]
Acabei de classificar pela classificação mais alta:
array.sort(function(a , b) {
return a.rating.average - b.rating.average;
});
array.reverse();
Mas agora eu só quero um objeto por duplicadoarray.number
, mantendo o que tiver o maiorarray.rating.average
.