I have an array like this:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}, {
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}]
I am trying to create a new array with the following criteria:
- Get highest rating (
array.rating.average) of each number (array.number)
Output should be:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}
}]
I have just managed to sort by highest rating:
array.sort(function(a , b) {
return a.rating.average - b.rating.average;
});
array.reverse();
But, now, I just only want one object per duplicate array.number, keeping the one that has the highest array.rating.average.