pad
字符串填充函数,支持在字符串的开头、结尾或两端填充指定字符到目标长度。
函数签名
typescript
function pad(
str: string,
targetLength: number,
options?: PadOptions,
returnDetails?: boolean
): string | PadResult
type PadDirection = 'start' | 'end' | 'both'
interface PadOptions {
direction?: PadDirection // 填充方向,默认 'end'
padString?: string // 填充字符,默认空格
}
interface PadResult {
original: string
padded: string
paddingAdded: number
direction: PadDirection
}参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
str | string | 是 | - | 需要填充的字符串 |
targetLength | number | 是 | - | 目标长度 |
options.direction | 'start' | 'end' | 'both' | 否 | 'end' | 填充方向 |
options.padString | string | 否 | ' ' | 填充字符 |
returnDetails | boolean | 否 | false | 是否返回详细结果对象 |
返回值
| 类型 | 说明 |
|---|---|
string | 当 returnDetails 为 false 时,返回填充后的字符串 |
PadResult | 当 returnDetails 为 true 时,返回详细结果对象 |
工作原理
- 检查字符串长度是否已达到目标长度,如果是则直接返回
- 计算需要填充的字符数 = 目标长度 - 当前长度
- 根据填充方向进行处理:
'end': 在字符串末尾重复添加填充字符'start': 在字符串开头重复添加填充字符'both': 在两端均匀添加(左侧 floor(剩余/2),右侧剩余部分)
- 如果填充字符长度大于1,会根据需要重复和截取
- 返回填充后的字符串或详细结果对象