clamp
将数值限制在指定范围内
数值配置
可视化
限制结果
50✓ 值在范围内
函数签名
typescript
function clamp(value: number, min: number, max: number): number参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
value | number | 是 | 要限制的数值 |
min | number | 是 | 最小值 |
max | number | 是 | 最大值 |
返回值
| 类型 | 说明 |
|---|---|
number | 限制后的数值 |
异常
| 错误类型 | 触发条件 | 错误信息 |
|---|---|---|
Error | min > max | 'Min value cannot be greater than max value' |
工作原理
- 验证 min 必须小于等于 max
- 如果 value < min,返回 min
- 如果 value > max,返回 max
- 否则返回 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)