Clamp a number to a range
Keep a number inside an inclusive minimum and maximum.
function clamp({ value, min, max }) { return Math.min(max, Math.max(min, value)); }
Input & expected output
Input
{
"value": 120,
"min": 0,
"max": 100
}Expected output
100The edge case
Input
{
"value": -5,
"min": 0,
"max": 100
}Expected output
0Know the limits
- All values must be finite numbers and min must not exceed max.
- Clamping is a product decision; reject invalid input instead when hiding it would be unsafe.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Clamp a number between two values from the original 1loc collection by Nguyen Huu Phuoc, with r-i-c-h. Copyright (c) 2020 phuoc-ng. MIT licensed.
Curated implementation; explicit input bounds, edge cases, local fixtures and rebuilt presentation. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Round to a number of digits — Apply decimal scaling and JavaScript rounding for display-oriented values.
- Add an ordinal suffix to a number — Append st, nd, rd or th to a positive integer.
- Calculate Fibonacci numbers — Return the nth Fibonacci number with memoized recursion.