Check if a number is in a given range
Test an inclusive range whose ends may be given in any order, with an optional tolerance.
function inRange({ value, a, b, threshold = 0 }) { return Math.min(a, b) - threshold <= value && value <= Math.max(a, b) + threshold; }
Input & expected output
Input
{
"value": 5,
"a": 10,
"b": 1
}Expected output
trueThe edge case
Input
{
"value": 10.5,
"a": 1,
"b": 10,
"threshold": 0.5
}Expected output
trueKnow the limits
- Both ends are included; threshold widens the range on both sides.
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 Check if a number is in a given range from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Takes named fields with an optional threshold. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Check whether all values are equal — Compare every item with the first using Object.is.
- Check whether an object is empty — Check for own enumerable string keys on a JSON object.
- Check whether an integer is even — Test parity for safe integers, including zero and negative values.