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

truncate

یک رشته را به حداکثر طول مشخص کوتاه می‌کند و در صورت نیاز یک رشته حذف‌کننده به انتهای آن اضافه می‌کند.

truncate(value, length, omission):string

اعتبارسنجی length

پارامتر length باید یک عدد صحیح نامنفی باشد. در غیر این صورت truncate یک RangeError با پیام "truncate: length must be a non-negative integer" ایجاد می‌کند.

محاسبه طول با پشتیبانی از Unicode

رشته ورودی و omission با Array.from به آرایه تبدیل می‌شوند و سپس طول یا بخش موردنیاز آن‌ها محاسبه می‌شود. بنابراین code pointهای Unicode مانند emojiهایی که از surrogate pair تشکیل شده‌اند به‌عنوان یک کاراکتر در نظر گرفته می‌شوند.

رفتار omission

مقدار پیش‌فرض omission برابر با "..." است. اگر طول omission برابر یا بیشتر از length باشد، فقط length code point اول omission برگردانده می‌شود. در غیر این صورت، متن اصلی به اندازه‌ای کوتاه می‌شود که فضای کافی برای کل omission باقی بماند.

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

اگر مقدار ورودی از length بیشتر نباشد، همان مقدار اصلی برگردانده می‌شود. در صورت نیاز به کوتاه‌سازی، بخش باقی‌مانده از متن به همراه omission برگردانده می‌شود.

پارامترها

valuestringالزامی

رشته‌ای که باید کوتاه شود.

lengthnumberالزامی

حداکثر تعداد code pointهای Unicode مجاز در نتیجه.

omissionstringاختیاری

رشته‌ای که هنگام کوتاه شدن مقدار به انتهای نتیجه اضافه می‌شود.

مقدار پیش‌فرض:"..."

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

string

اگر رشته در طول تعیین‌شده جا شود، همان رشته اصلی را برمی‌گرداند؛ در غیر این صورت، رشته کوتاه‌شده به همراه omission برگردانده می‌شود.

خطاها

اگر length یک عدد صحیح نامنفی نباشد، یک RangeError ایجاد می‌کند.

مثال‌ها

01

استفاده پایه

متن طولانی کوتاه می‌شود و omission پیش‌فرض به انتهای آن اضافه می‌شود.

TypeScript
truncate("Hello World", 8);
// "Hello..."
02

omission سفارشی

می‌توان یک رشته سفارشی برای omission مشخص کرد.

TypeScript
truncate("Hello World", 8, "…");
// "Hello W…"
03

رشته در طول تعیین‌شده جا می‌شود

اگر طول رشته از حد تعیین‌شده بیشتر نباشد، مقدار اصلی بدون تغییر برگردانده می‌شود.

TypeScript
truncate("Hello", 10);
// "Hello"
04

طول کمتر از omission

وقتی طول omission برابر یا بیشتر از طول تعیین‌شده باشد، فقط ابتدای omission تا طول موردنظر برگردانده می‌شود.

TypeScript
truncate("Hello World", 2, "...");
// ".."
05

طول صفر

اگر طول صفر باشد و رشته نیاز به کوتاه شدن داشته باشد، نتیجه یک رشته خالی خواهد بود.

TypeScript
truncate("Hello", 0);
// ""
06

کاراکترهای Unicode

کوتاه‌سازی با استفاده از Array.from، code pointهای Unicode را می‌شمارد.

TypeScript
truncate("Hello 😀 World", 8);
// "Hello 😀..."
07

مقدار خالی

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

TypeScript
truncate("", 5);
// ""
ساخته شده با@cyref/js·مستندات رسمی