File size: 2,107 Bytes
780c9fe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
---
title: Math.min()
short-title: min()
slug: Web/JavaScript/Reference/Global_Objects/Math/min
page-type: javascript-static-method
browser-compat: javascript.builtins.Math.min
sidebar: 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()")}}
```js interactive-example
console.log(Math.min(2, 3, 1));
// Expected output: 1
console.log(Math.min(-2, -3, -1));
// Expected output: -3
const array = [2, 3, 1];
console.log(Math.min(...array));
// Expected output: 1
```
## Syntax
```js-nolint
Math.min()
Math.min(value1)
Math.min(value1, value2)
Math.min(value1, value2, /* …, */ valueN)
```
### Parameters
- `value1`, …, `valueN`
- : Zero or more numbers among which the lowest value will be selected and returned.
### 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`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/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`:
```js
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
```js
let x = f(foo);
if (x > boundary) {
x = boundary;
}
```
may be written as this
```js
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
- {{jsxref("Math.max()")}}
|