_.clamp(number, [lower], upper)

188

_.clamp(number, [lower], upper)

_.clamp将数字固定在一个有最小和最大的区间限制内

参数

number (number): 需要固定值的数
[lower] (number): 较小的限制
upper (number): 较大的限制

返回值

(number): 返回被固定在区间内的值

例子

_.clamp(-10, -5, 5);
// => -5
 
_.clamp(10, -5, 5);
// => 5

源代码

复制代码
/**
 * Clamps `number` within the inclusive `lower` and `upper` bounds.
 *
 * @since 4.0.0
 * @category Number
 * @param {number} number The number to clamp.
 * @param {number} lower The lower bound.
 * @param {number} upper The upper bound.
 * @returns {number} Returns the clamped number.
 * @example
 *
 * clamp(-10, -5, 5)
 * // => -5
 *
 * clamp(10, -5, 5)
 * // => 5
 */
//将数字固定在一个有最小和最大的区间限制内
function clamp(number, lower, upper) {
  number = +number//转成数字
  lower = +lower//转成数字
  upper = +upper//转成数字
  lower = lower === lower ? lower : 0//判断NaN
  upper = upper === upper ? upper : 0//判断NaN
  if (number === number) {//如果number不是NaN
    number = number <= upper ? number : upper//如果number比upper小,不变,否则变为upper
    number = number >= lower ? number : lower//如果number比lower大,不变,否则变为lower
  }
  return number
}

export default clamp
复制代码

 

 

posted @   hahazexia  阅读(514)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示