_.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