In the javascript code below, I have managed to achieve the desired outcome by returning the 3rd and 4th objects in objectsArray since they both have the maximum distance. However, I am curious if there is a way to avoid repeating the name of the array when using objectsArray.filter? My intention is not to be lazy, but rather to prevent redundancy and the risk of making a typo.
function meetsMax(obj) {
return obj.distance === Math.max.apply(Math, this.map(function(o) { return o.distance; }));
}
const objectsArray = [{ "distance": 1, "name": "first" }, { "distance": 2, "name": "second" }, { "distance": 3, "name": "third" }, { "distance": 3, "name": "fourth" }];
const objMax = objectsArray.filter(meetsMax, objectsArray);
console.log("objMax:", objMax);
I would appreciate any suggestions on enhancing the efficiency and performance of this code.