feat(utils): add findNearest function to calculate closest point
This commit is contained in:
@@ -12,4 +12,15 @@ function detailedCurrentDate() {
|
||||
second: '2-digit',
|
||||
timeZoneName: 'shortOffset'
|
||||
}).format();
|
||||
}
|
||||
|
||||
function findNearest(origin, getX, getY, ...dests) {
|
||||
const distanceToOrigin = (point) => Math.sqrt((getX(origin) - getX(point))**2 + (getY(origin) - getY(point))**2);
|
||||
return dests.reduce(
|
||||
(nearest, dest) => {
|
||||
const dist = distanceToOrigin(dest);
|
||||
return dist < nearest.dist ? {dist, dest} : nearest;
|
||||
},
|
||||
{dist: Infinity, dest: null}
|
||||
).dest;
|
||||
}
|
||||
Reference in New Issue
Block a user