El propósito de IndexOf es encontrar la ubicación de una palabra en una cadena
LastIndexof también es una búsqueda de palabras. La diferencia entre ellos es que el primero comienza desde el encabezado de la cadena, y el segundo comienza desde el final de la cuerda.
Una vez que se encuentra la palabra especificada, se devolverá el número de posición actual de la palabra. Si no se encuentra, regrese -1.
var str = "//www.stooges.com.my/test/index.aspx123/";console.log(str.indexof("/")); //0console.log(str.lastindexof("/ ")); // 39El parámetro 1 es la palabra a buscar, debe ser STR, no funcionará.
Además, también acepta el segundo parámetro. Tipo de número, esto nos permite especificar el rango de búsquedas.
var str = "//www.stooges.com.my/test/index.aspx123/";console.log(str.indexof("/", 0)); // 0 El valor predeterminado es 0console.log (str.lastindexof ("/", str.length)); // 39 El valor predeterminado es str.lengthEl control de los dos métodos está en diferentes direcciones.
Suponiendo que el índice se establece en 10, entonces el rango de búsqueda es de 10 a str.length (final de la palabra)
Si lastindexof se establecen en 10, el rango de búsqueda será de 10 a 0 (primera palabra)
Presta atención a esto.
PS: establecerlo en un número negativo como -500 causará fenómenos extraños, no entiendo = = ";
A veces queremos especificar el enésimo. Entonces podemos lograrlo a través del método anterior.
Por ejemplo:
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); for (var i = 0; i <looptime; i ++) {iPOS = (is_negative)? text.lastIndexof (SearchValue, iPOS - 1): Text.IndexOf (SearchValue, iPOS + 1); if (iPOS == -1) break;} return iPOS;} var str = "//www.stooges.com.my/test/index.aspx123/";console.log(str.myindexof("/", 3)); //20console.log(str.myindexof("/ ", -2)); // 25 la segunda última posición