CyrefJS
CCyrefJS
EN
بازگشت به مستندات
عدد/از نسخه 1.38.0

clamp

یک عدد را در یک بازه مشخص و شامل دو کران حداقل و حداکثر محدود می‌کند.

clamp(value, min, max):number

پارامترها

valuenumberالزامی

عددی که باید در بازه مشخص‌شده محدود شود.

minnumberالزامی

کمترین مقدار مجاز.

maxnumberالزامی

بیشترین مقدار مجاز.

مقدار بازگشتی

number

مقدار را در بازه شامل min و max محدودشده برمی‌گرداند.

خطاها

اگر value برابر NaN باشد، یک RangeError ایجاد می‌کند.

اگر min یا max برابر NaN باشد، یک RangeError ایجاد می‌کند.

اگر min بزرگ‌تر از max باشد، یک RangeError ایجاد می‌کند.

مثال‌ها

01

استفاده پایه

مقداری که داخل بازه باشد بدون تغییر برگردانده می‌شود.

TypeScript
console.log(clamp(5, 0, 10));
// 5
02

مقدار کمتر از حداقل

مقادیر کمتر از min با خود min جایگزین می‌شوند.

TypeScript
console.log(clamp(-5, 0, 10));
// 0
03

مقدار بیشتر از حداکثر

مقادیر بیشتر از max با خود max جایگزین می‌شوند.

TypeScript
console.log(clamp(15, 0, 10));
// 10
04

مقادیر مرزی

خود مقادیر حداقل و حداکثر نیز مجاز هستند.

TypeScript
console.log(clamp(0, 0, 10));
// 0

console.log(clamp(10, 0, 10));
// 10
05

بازه منفی

clamp با بازه‌هایی که شامل اعداد منفی هستند نیز کار می‌کند.

TypeScript
console.log(clamp(-15, -10, -5));
// -10

console.log(clamp(-7, -10, -5));
// -7

console.log(clamp(-2, -10, -5));
// -5
06

برابر بودن حداقل و حداکثر

وقتی min و max برابر باشند، نتیجه همیشه همان مقدار خواهد بود.

TypeScript
console.log(clamp(5, 10, 10));
// 10

console.log(clamp(20, 10, 10));
// 10
07

مقدار NaN

مقدار NaN با RangeError رد می‌شود.

TypeScript
clamp(NaN, 0, 10);
// RangeError: clamp: value must not be NaN
08

بازه نامعتبر

تابع بازه‌ای را که min آن بزرگ‌تر از max باشد رد می‌کند.

TypeScript
clamp(5, 10, 0);
// RangeError: clamp: min must be less than or equal to max
ساخته شده با@cyref/js·مستندات رسمی