§2. Растягивание и размножение строк

Продолжим разбираться со строками.

Сегодня научимся повторять строку несколько раз и дополнять строку справа и слева до нужной длины.

Определим метод 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;
}
Запись опубликована в рубрике JavaScript с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>