Показать сообщение отдельно
  #35 (permalink)  
Старый 20.02.2011, 19:26
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Ой, извините! Я думал про один цикл - это не изначальное условие.
Впрочем, есть не один способ перебора без цикла, например, вот (внизу). Или вот, например:
String.prototype.index = function(x){  
  var string = this, l1 = this.length, l2 = x.length;

  for(var i = 0; i < l1; i++) if(this[i] === x[0] && (function(){
    var count = 0;
  
    return (function(){
      if( count === l2 ) return true;
      if( string[i + count] === x[count++] ) return arguments.callee();
      return false;
    })();
    
  }())) return i;
  return -1;
};
Ответить с цитированием