The static function Math.min()
returns the lowest-valued number passed into it, or NaN
if any parameter isn't a number and can't be converted into one.
Syntax
Math.min([value1[, value2[, ...]]])
Parameters
value1, value2, ...
- Zero or more numbers among which the lowest value will be selected and returned.
Return value
The smallest of the given numbers. If any one or more of the parameters cannot be converted into a number, NaN
is returned. The result is 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).
If no arguments are given, the result is Infinity
.
If at least one of arguments cannot be converted to a number, the result is NaN
.
Examples
Using Math.min()
This finds the min of x
and y
and assigns it to z
:
var x = 10, y = -20; var z = Math.min(x, y);
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
var x = f(foo); if (x > boundary) { x = boundary; }
may be written as this
var x = Math.min(f(foo), boundary);
Math.max()
can be used in a similar way to clip a value at the other end.
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.0. |
ECMAScript 5.1 (ECMA-262) The definition of 'Math.min' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Math.min' in that specification. |
Standard | |
ECMAScript Latest Draft (ECMA-262) The definition of 'Math.min' in that specification. |
Living Standard |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | Yes | Yes | Yes | Yes | Yes | Yes |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | Yes | Yes | Yes | Yes | Yes | Yes | Yes |