vevet
Version:
Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.
16 lines (14 loc) • 366 B
text/typescript
/**
* Get closest value in array to target value.
*
* @example
* closest(5, [3, 6, 9, 12, 15]); // => 6
*/
export function closest(target: number, values: number[]) {
if (!Array.isArray(values) || values.length === 0) {
return target;
}
return values.reduce((prev, curr) =>
Math.abs(curr - target) < Math.abs(prev - target) ? curr : prev,
);
}