Merge pull request #279 from arjunmahishi/clamp

Snippet to implement clamping
This commit is contained in:
Angelos Chalaris
2017-12-21 11:08:52 +02:00
committed by GitHub

17
snippets/clampNumber.md Normal file
View File

@ -0,0 +1,17 @@
### clampNumber
Clamps `num` within the inclusive `lower` and `upper` bounds.
If `lower` is greater than `upper`, swap them.
If `num` falls within the range, return `num`.
Otherwise return the nearest number in the range.
```js
const clampNumber = (num, lower, upper) => {
if(lower > upper) upper = [lower, lower = upper][0];
return (num>=lower && num<=upper) ? num : ((num < lower) ? lower : upper)
}
// clampNumber(2, 3, 5) -> 3
// clampNumber(1, -1, -5) -> -1
// clampNumber(3, 2, 4) -> 3
```