JavaScript/Objekte/String/padStart

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die Methode String.padStart() füllt die aktuelle Zeichenkette mit einer gegebenen Zeichenkette auf (ggf. wiederholt), so dass die resultierende Zeichenkette eine gegebene Länge erreicht. Das Auffüllen erfolgt ab dem STart der aktuellen Zeichenkette.

Syntax

padStart(targetLength)

padStart(targetLength, padString)

  • targetLength: Die Länge der resultierenden Zeichenkette, nachdem die aktuelle Zeichenkette aufgefüllt worden ist. Wenn der Wert kleiner oder gleich str.length ist, wird die aktuelle Zeichenkette unverändert zurückgegeben.
  • padString: (Optional) Die Zeichenkette, mit der die aktuelle Zeichenkette aufgefüllt wird. Wenn padString zu lang ist, um innerhalb von targetLength zu bleiben, wird sie abgeschnitten: bei Sprachen von links nach rechts wird der am weitesten links stehende Teil und bei Sprachen von rechts nach links der am weitesten rechts stehende Teil verwendet. Der Standardwert für diesen Parameter ist " " (U+0020).

Rückgabewert' ist eine Zeichenkette mit der angegebenen targetLength, wobei der padString am Ende der aktuellen Zeichenkette angewendet wird.

Beispiel

Die Methode kann beispielsweise zum Einrücken von Code verwendet werden, der auf einer Seite dargestellt werden soll. Die unten definierte Funktion indent fügt am Anfang jeder Zeile eines Texts eine gegebene Anzahl Leerzeichen ein, um den restlichen Zeileninhalt einzurücken.


Beispiel
/**
 * @function indent
 *
 * @param {number} depth - Number of spaces to use for indentation.
 * @param {string} text - Text whose lines to indent.
 *
 * @returns {string}
 *
 */
function indent(depth, text) {
    return text.split('\n').map(line => line.padStart(depth + line.length)).join('\n')
}


Die Funktion verwendet die Methode split um den Eingabetext in ein Array mit den einzelnen Zeilen aufzuteilen. Darauf wird die Methode map aufgerufen, um für jede Zeile eine Callback-Funktion auszuführen, deren Rückgabewert die jeweilige Zeile ersetzt. Wir addieren den als Parameter übergebenen Wert für die Anzahl der bei der Einrückung zu verwendenden Leerzeichen zu der Länge der Zeile hinzu – und rufen damit padStart auf. Am Schluss fügen wir die eingerückten Zeilen mit Hilfe der Methode join wieder zu einer einzelnen Zeichenkette zusammen.

Hier ein Beispielaufruf der Funktion:


Beispiel
console.log('<section>\n' + indent(4, '<h2>Heading</h2>\n<p>Paragraph</p>') + '\n</section>')

// <section>
//     <h2>Heading</h2>
//     <p>Paragraph</p>
// <section>

Siehe auch

Weblinks