Skip to content

clamp

将数值限制在指定范围内

数值配置

可视化

50
0100

限制结果

50
✓ 值在范围内

函数签名

typescript
function clamp(value: number, min: number, max: number): number

参数

参数名类型必填说明
valuenumber要限制的数值
minnumber最小值
maxnumber最大值

返回值

类型说明
number限制后的数值

异常

错误类型触发条件错误信息
Errormin > max'Min value cannot be greater than max value'

工作原理

  1. 验证 min 必须小于等于 max
  2. 如果 value < min,返回 min
  3. 如果 value > max,返回 max
  4. 否则返回 value 本身

可以用公式表示为:Math.min(Math.max(value, min), max)

使用示例

基本用法

typescript
clamp(10, 0, 100)
// 10(在范围内)

clamp(-5, 0, 100)
// 0(限制到最小值)

clamp(150, 0, 100)
// 100(限制到最大值)

实际应用

typescript
// 限制音量范围
const volume = clamp(userInput, 0, 100)

// 限制进度条
const progress = clamp(currentStep / totalSteps * 100, 0, 100)

// 限制透明度
const opacity = clamp(alpha, 0, 1)