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

pad

یک رشته را از هر دو طرف با کاراکترهای تکرارشونده پر می‌کند تا به طول مشخص‌شده برسد.

pad(value, length, chars):string

اعتبارسنجی length

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

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

هم رشته اصلی و هم کاراکترهای padding با Array.from به آرایه تبدیل می‌شوند؛ بنابراین محاسبه طول بر اساس Unicode code point انجام می‌شود.

تقسیم padding

padding موردنیاز بین سمت چپ و راست تقسیم می‌شود. سمت چپ floor(paddingLength / 2) کاراکتر دریافت می‌کند و باقی کاراکترها به سمت راست می‌روند. بنابراین در padding فرد، سمت راست یک کاراکتر بیشتر خواهد داشت.

تکرار کاراکترهای padding

وقتی chars شامل چند کاراکتر باشد، کاراکترها به صورت چرخه‌ای و با استفاده از index modulo تعداد کاراکترهای padding انتخاب می‌شوند.

وقتی padding لازم نیست

اگر value از قبل به طول هدف رسیده باشد یا طولانی‌تر باشد، یا chars خالی باشد، مقدار اصلی بدون تغییر برگردانده می‌شود.

پارامترها

valuestringالزامی

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

lengthnumberالزامی

طول هدف رشته نهایی. باید یک عدد صحیح غیرمنفی باشد.

charsstringاختیاری

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

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

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

string

رشته اصلی که از دو طرف تا رسیدن به طول هدف padding شده است؛ یا در صورت عدم نیاز به padding، همان رشته اصلی.

خطاها

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

مثال‌ها

01

استفاده پایه

یک رشته را از هر دو طرف با فاصله پر می‌کند.

TypeScript
import { pad } from "@cyref/js";

pad("hello", 9);
// "  hello  "
02

کاراکترهای سفارشی

استفاده از یک کاراکتر سفارشی برای padding.

TypeScript
pad("hello", 9, "*");
// "**hello**"
03

چند کاراکتر برای padding

اگر چند کاراکتر برای padding داده شود، آن‌ها به صورت چرخه‌ای تکرار می‌شوند.

TypeScript
pad("hello", 11, "ab");
// "abhelloabab"
04

طول padding فرد

اگر مقدار padding فرد باشد، سمت راست یک کاراکتر بیشتر از سمت چپ دریافت می‌کند.

TypeScript
pad("hello", 10, "-");
// "--hello---"
05

عدم نیاز به padding

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

TypeScript
pad("hello", 3);
// "hello"
06

کاراکترهای padding خالی

اگر chars خالی باشد، padding انجام نمی‌شود و مقدار اصلی برگردانده می‌شود.

TypeScript
pad("hello", 10, "");
// "hello"
07

کاراکترهای Unicode

طول هدف با Array.from محاسبه می‌شود؛ بنابراین طول بر اساس code pointهای Unicode محاسبه می‌شود، نه code unitهای UTF-16.

TypeScript
pad("😀", 3, "-");
// "-😀-"
08

طول نامعتبر

طول منفی یا غیرصحیح باعث ایجاد RangeError می‌شود.

TypeScript
pad("hello", -1);
// RangeError: pad: length must be a non-negative integer
ساخته شده با@cyref/js·مستندات رسمی