Il metodo lastIndexOf() di javascript

Il metodo lastIndexOf cerca la prima posizione di una occorrenza all'interno di una stringa o di un array compiendo una ricerca da destra verso sinistra.

lastIndexOf(key [,from] )

Il metodo ha due parametri

  • Il primo parametro key è la parola da cercare nella stringa o nell'array. E' un parametro obbligatorio
  • Il secondo parametro from è la posizione a partire dalla quale iniziare la ricerca. E' facoltativo. Di default è la posizione dell'ultimo carattere della stringa o dell'ultimo elemento dell'array.

Il metodo lastIndexOf è un metodo predefinito degli oggetti String e degli array.

Restituisce la posizione della parola chiave key nella stringa o array. Se non la trova, restituisce -1.

Nota. A differenza del metodo indexOf() che cerca la sottostringa con una ricerca dal primo all'ultimo carattere (da sinistra verso destra), il metodo lastIndexOf() cerca la sottostringa dall'ultimo carattere della stringa al primo ossia a ritroso (da destra verso sinistra). In entrambi i casi la ricerca è case sensitive, ossia distingue tra minuscole e maiuscole. Nel caso degli array, il metodo lastIndexOf() comincia la ricerca a partire dall'ultimo elemento e procede a ritroso verso il primo.

    Un esempio pratico

    Esempio 1 (ricerca in una stringa)

    In questo script cerco la posizione della parola chiave "mare" nella variabile myVar

    <script>
    var myString = "Tra mare e montagna preferisco il mare";
    var x = myString.lastIndexOf("mare");
    document.write(x);
    </script>

    Il risultato è 34

    34

    Compiendo una ricerca dall'ultimo carattere verso il primo, la prima occorrenza della parola "mare" si trova nella posizione 34.

    la parola cercata si trova in posizione 4

    Modifico lo script per cominciare la ricerca a ritroso a partire dalla posizione 29 della stringa.

    <script>
    var myString = "Tra mare e montagna preferisco il mare";
    var x = myString.lastIndexOf("mare",29);
    document.write(x);
    </script>

    In questo caso il risultato è 4

    4

    Ora la prima occorrenza della parola mare si trova in posizione 4 perché la ricerca parte dalla posizione 29 verso sinistra.

    il risultato è 4

    Ora provo a cercare la parola "MARE" in maiuscolo

    <script>
    var myString = "Tra mare e montagna preferisco il mare";
    var x = myString.lastIndexOf("MARE");
    document.write(x);
    </script>

    Il risultato -1 perché non esiste la parola "MARE" nella stringa.

    -1

    La ricerca è case sensitive. Distingue tra le lettere maiuscole e minuscole.

    Pertanto, i valori alfanumerici "mare" e "MARE" sono valori diversi.

    la ricerca non trova nessuna occorrenza

    Esempio 2 (ricerca in un array)

    In questo script definisco un array nella variabile colors

    <script>
    var colors = new Array("red", "green", "blue", "black");
    document.write(colors.lastIndexOf("blue"));
    </script>

    Poi uso il metodo lastIndexOf() per cercare l'elemento con contenuto "blue" all'interno dell'array.

    La ricerca comincia dall'ultimo elemento "black" a ritroso.

    Il metodo trova l'elemento "blue" nella posizione 2 dell'indice (terzo elemento dell'array). Pertanto, il risultato in output è 2

    2

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Le stringhe in Javascript

    I metodi delle stringhe