Skip to main content

pad()

pad(str, length, chars): string

Pads string on the left and right sides if it's shorter than length.

DEPRECATED

Use padStart and padEnd combination directly instead.


Parametersโ€‹

str: string | null | undefinedโ€‹

The string to pad.

length: number | null | undefinedโ€‹

The target length.

chars: string = " "โ€‹

The string used as padding.


Returns: stringโ€‹

The padded string.


See Alsoโ€‹


Sinceโ€‹

2.0.0


Also known asโ€‹

pad (Lodash, es-toolkit) ยท โŒ (Remeda, Radashi, Ramda, Effect, Modern Dash, Antfu)


Exampleโ€‹

// โŒ Deprecated approach
pad('abc', 8); // => ' abc '
pad('abc', 8, '_-'); // => '_-abc_-_'
pad('abc', 3); // => 'abc'

// โœ… Recommended approach
const str = 'abc';
const length = 8;
const padLength = Math.max(0, length - str.length);
const leftPad = Math.floor(padLength / 2);
const rightPad = padLength - leftPad;
str.padStart(str.length + leftPad).padEnd(length);
// => ' abc '

How it works?โ€‹

Pads string on both sides to target length. Deprecated: Use padStart() and padEnd() combination.

Native Equivalentโ€‹

// โŒ pad(str, length, chars)
// โœ… str.padStart((str.length + length) / 2, chars).padEnd(length, chars)

Use Casesโ€‹

Pad to fixed width ๐Ÿ“Œโ€‹

Pad string to fixed length.

"5".padStart(3, "0");   // => "005"
"5".padEnd(3, "0"); // => "500"

Format numbersโ€‹

Add leading zeros.

const id = String(num).padStart(5, "0");
// 42 => "00042"

Align textโ€‹

Create aligned columns.

const label = name.padEnd(20);
const value = price.padStart(10);