czwartek,
JS: Dopełnianie łańcucha znaków
Dopełnianie tekstu dodatkowymi znakami to typowe zadanie programistyczne. Język JavaScript dysponuje narzędziami, które pozwalają łatwo rozwiązać taki problem. Metody padStart() i padEnd() dopełniają łańcuch znaków odpowiednio na jego początku oraz końcu. Ich wywołania są podobne, obie przyjmują dwa parametry. Pierwszy z nich to oczekiwana długość ciągu, jeśli łańcuch nie jest od niej krótszy, zwracany jest w niezmienionej postaci. Drugi parametr jest opcjonalny i określa znaki, z których powstanie dopełnienie. Jeśli nie zostanie przekazany, stosowana jest spacja. Demonstrowane metody są stosunkowo nowe, zostały dodane w ECMAScript 2017. Sprawdź kompatybilność przeglądarek stron internetowych: https://caniuse.com/?search=padEnd.
Przykłady wywołań metod padStart() i padEnd():
let test = 'CKZiU';
console.log(test.padStart(8));
// zwraca " CKZiU"
console.log(test.padStart(8, '_'));
// zwraca "___CKZiU"
console.log(test.padEnd(8, '_'));
// zwraca "CKZiU___"
console.log(test.padStart(3, '_'));
// zwraca "CKZiU"
console.log(test.padStart(12, '~*'));
// zwraca "~*~*~*~CKZiU"
console.log(test.padStart(8, '»').padEnd(16 - test.length, '«'));
// zwraca "»»»CKZiU«««"
Mechanizm dopełniania łańcucha może być stosowany w różnych celach, np. do wyrównania zawartości tekstowej. Można go także użyć do maskowania części znaków. Poniżej zademonstrowano takie zastosowanie w przypadku nazwiska oraz numeru telefonu.
let x = 'Jan Nowak';
x[0].padEnd(x.length, '*');
// zwraca "J********"
let n = '123 234 345';
x.substr(-3).padStart(x.length, '*');
// zwraca "********345"