[Home] >  Number >  Wrap a number between two values

Wrap a number between two values

JavaScript version

const wrap = (num, min, max) => ((((num - min) % (max - min)) + (max - min)) % (max - min)) + min;

TypeScript version

const wrap = (num: number, min: number, max: number): number => ((((num - min) % (max - min)) + (max - min)) % (max - min)) + min;

Examples

wrap(11, 10, 25); // 11
wrap(10, 10, 25); // 10
wrap(9, 10, 25); // 25
wrap(24, 10, 25); // 24
wrap(25, 10, 25); // 25
wrap(26, 10, 25); // 10

See also