Math.min()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Math.min() 静态方法返回输入参数中最小的数字,如果没有参数则返回 Infinity

试一试

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

语法

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

参数

value1, …, valueN

零个或多个数字,将从中选择并返回最小的值。

返回值

给定数字中最小的那个。如果任何参数是或被转换为 NaN,则返回 NaN。如果没有提供参数,则返回 Infinity

描述

因为 min()Math 的一个静态方法,所以你总是使用 Math.min() 来调用它,而不是使用你创建的 Math 对象的某个方法(Math 不是一个构造函数)。

Math.min.length 的值为 2,这在一定程度上表明它被设计为至少处理两个参数。

示例

使用 Math.min()

这会找出 xy 的最小值,并将其赋给 z

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

使用 Math.min() 裁剪值

Math.min() 通常用于裁剪值,使其始终小于或等于一个边界。例如,这

js
let x = f(foo);

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

可以这样写

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

Math.max() 也可以用于在另一端裁剪值。

规范

规范
ECMAScript® 2026 语言规范
# sec-math.min

浏览器兼容性

另见