docs.rodeo

MDN Web Docs mirror

Math.min()

{{JSRef}} 

The Math.min() static method returns the smallest of the numbers given as input parameters, or {{jsxref("Infinity")}}  if there are no parameters.

{{InteractiveExample("JavaScript Demo: Math.min()")}} 

console.log(Math.min(2, 3, 1));
// Expected output: 1

console.log(Math.min(-2, -3, -1));
// Expected output: -3

const array1 = [2, 3, 1];

console.log(Math.min(...array1));
// Expected output: 1

Syntax

Math.min()
Math.min(value1)
Math.min(value1, value2)
Math.min(value1, value2, /* …, */ valueN)

Parameters

Return value

The smallest of the given numbers. Returns {{jsxref("NaN")}}  if any of the parameters is or is converted into NaN. Returns {{jsxref("Infinity")}}  if no parameters are provided.

Description

Because min() is a static method of Math, you always use it as Math.min(), rather than as a method of a Math object you created (Math is not a constructor).

Math.min.length is 2, which weakly signals that it’s designed to handle at least two parameters.

Examples

Using Math.min()

This finds the min of x and y and assigns it to z:

const x = 10;
const y = -20;
const z = Math.min(x, y); // -20

Clipping a value with Math.min()

Math.min() is often used to clip a value so that it is always less than or equal to a boundary. For instance, this

let x = f(foo);

if (x > boundary) {
  x = boundary;
}

may be written as this

const x = Math.min(f(foo), boundary);

{{jsxref("Math.max()")}}  can be used in a similar way to clip a value at the other end.

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN