w3resource

JavaScript: Clamp a number within the inclusive range specified by the given boundary values a and b

JavaScript fundamental (ES6 Syntax): Exercise-266 with Solution

Write a JavaScript program to clamp a number within the inclusive range specified by the given boundary values a and b.

  • If num falls within the range, return num.
  • Otherwise, return the nearest number in the range.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
const clampNumber = (num, a, b) => Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));
console.log(clampNumber(2, 3, 5));
console.log(clampNumber(1, -1, -5));

Sample Output:

3
-1

Flowchart:

flowchart: Clamp a number within the inclusive range specified by the given boundary values a and b.

Live Demo:

See the Pen javascript-basic-exercise-266-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to chunk an array into smaller arrays of a specified size.
Next: JavaScript functions exercises

What is the difficulty level of this exercise?



JavaScript: Tips of the Day

Errors

const name = 'Owen';

console.log(name());

The variable name holds the value of a string, which is not a function, thus cannot invoke.
TypeErrors get thrown when a value is not of the expected type. JavaScript expected name to be a function since we're trying to invoke it. It was a string however, so a TypeError gets thrown: name is not a function!
SyntaxErrors get thrown when you've written something that isn't valid JavaScript, for example when you've written the word return as retrun. ReferenceErrors get thrown when JavaScript isn't able to find a reference to a value that you're trying to access.

Ref: https://bit.ly/3jFRBje