Показать сообщение отдельно
  #23 (permalink)  
Старый 26.02.2012, 14:22
Профессор
Посмотреть профиль Найти все сообщения от Mахmaxmaximus
 
Регистрация: 22.02.2012
Сообщений: 163

nikita.mmf,
не производителен, избыточен. ты используешь 2 реверса, 2 конкатенации и.т.п. это все пробегается по всему массиву целиком, а нам не нужен весь массив целиком. Это избыточно и не логично.

Сообщение от Aetae Посмотреть сообщение
subString[0]

Это не будет работать в ie.
//ласт индекс оф
String.prototype.lastIndexOf = function(subString, index){
	subString.length > 1 && (subString = subString.split(''));
	var i = (index !== undefined) ? index : this.length-1;
	while(i-- != 0){
		if(this[i] === subString[0]){
			if(subString.length === 1) return i;
			else{
				for( var j = 1; j < subString.length; j++){
				    if(this[i+j] !== subString[j]) break;
					if(j === subString.length-1)   return i;
				};
			}
		};
	}
	return -1;
};

alert("canal".lastIndexOf("a"))   // 3
alert("canal".lastIndexOf("a",2)) // 1
alert("canal".lastIndexOf("a",0)) // -1
alert("canal".lastIndexOf("x"))   // -1

Последний раз редактировалось Mахmaxmaximus, 26.02.2012 в 14:41.
Ответить с цитированием