Normalize the ratio of a number in a range
Map a value in [min, max] to [0, 1].
function normalizeRatio({ value, min, max }) { return (value - min) / (max - min); }
Input & expected output
Input
{
"value": 75,
"min": 50,
"max": 150
}Expected output
0.25The edge case
Input
{
"value": 200,
"min": 50,
"max": 150
}Expected output
1.5Know the limits
- Values outside the range give ratios outside 0–1. The lab requires min < max.
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 Normalize the ratio of a number in a range from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Curated implementation; explicit input contract, edge case and limits. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Convert degrees to radians — Multiply by π and divide by 180.
- Check if a rectangle contains another one — Compare corners: a contains b when b’s corners sit inside or on a’s edges.
- Check if a rectangle overlaps another one — Two rectangles overlap when they overlap on both axes.