O objetivo do indexOF é encontrar a localização de uma palavra em uma string
O LastIndexOF também é uma busca por palavras. A diferença entre eles é que o primeiro começa no cabeçalho do cordão, e o último começa no final da corda.
Depois que a palavra especificada for encontrada, o número atual de posição da palavra será retornado. Se não for encontrado, retorne -1.
var str = "//www.stooges.com.my/test/index.aspx123/";console.log(st.indexof("/"); //0console.log(st.LastIndexOf("/ ")); // 39O parâmetro 1 é a palavra a ser pesquisada, deve ser STR, não funcionará.
Além disso, ele também aceita o segundo parâmetro. Tipo de número, isso nos permite especificar o intervalo de pesquisas.
var str = "//www.stooges.com.my/test/index.aspx123/";console.log(st.indexof("/", 0)); // 0 O padrão é 0console.log (str.LastIndexOf ("/", str.Length)); // 39 O padrão é str. comprimentoO controle dos dois métodos está em direções diferentes.
Supondo que o indexOF esteja definido como 10, o intervalo de pesquisa é de 10 a str. comprimento (final da palavra)
Se o LastIndexOF estiver definido como 10, o intervalo de pesquisa será de 10 a 0 (primeira palavra)
Preste atenção a isso.
PS: defini -lo como um número negativo como -500 causará um fenômeno estranho, eu não entendo = = ";
Às vezes, queremos especificar o Nth One. Então podemos alcançá -lo através do método acima.
por exemplo:
String.prototype.myIndexOf = function (SearchValue, startIndex) {var text = this; startIndex = startIndex || 1; var is_negative = startIndex <0; var iPos = (is_negative)? text.Length + 1: 0 - 1; var looptime = math.abs (startIndex); para (var i = 0; i <looptime; i ++) {iPos = (is_negative)? text.LastIndexOF (SearchValue, IPOs - 1): text.IndexOf (SearchValue, IPOs + 1); if (iPos == -1) quebra;} retornar IPOs;} var str = "//www.stooges.com.my/test/index.aspx123/";console.log(st.myindexof("/", 3)); //20console.log(st.myindexof("/ ", -2)); // 25 A segunda última posição