Продолжим разбираться со строками.
Сегодня научимся повторять строку несколько раз и дополнять строку справа и слева до нужной длины.
Определим метод repeat(), который просто повторяет строку n раз.
String.prototype.repeat=function(n)
// повторяет строку n раз
{
var r='';
if (typeof(n)=='number')
for (var i=1; i<=n; i++) r+=this;
return r;
}
А теперь определим методы padRight() и padLeft(), которые дополняют строку строкой c до длины n справа и слева.
String.prototype.padRight=function(n,c)
// дополняет строку справа строкой c
// или обрезает исходную строку справа до длины n
{
var r='';
var s=' ';
if (typeof(c)=='string')
if (c.length>0)
s=c;
if (typeof(n)=='number')
{
if (n>0)
{
var l=this.length;
if (l>n)
r=this.substr(0,n);
else
if (l==n)
r=this;
else
{
r=this;
while (r.length<n) r+=s;
r=r.substr(0,n);
}
}
}
return r;
}
String.prototype.padLeft=function(n,c)
// дополняет строку слева строкой c
// или обрезает исходную строку слева до длины n
{
var r='';
var s=' ';
if (typeof(c)=='string')
if (c.length>0)
s=c;
if (typeof(n)=='number')
{
if (n>0)
{
var l=this.length;
if (l>n)
r=this.substr(l-n);
else
if (l==n)
r=this;
else
{
r=this;
while (r.length<n) r=s+r;
r=r.substr(r.length-n);
}
}
}
return r;
}
Не забудьте скачать и подключить всю библиотеку. В ней содержатся все рассмотренные здесь методы, а также многие другие.