--- title: String.prototype.indexOf() slug: Web/JavaScript/Reference/Global_Objects/String/indexOf translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf ---
Il metodo indexOf() restituisce l'indice all'interno dell'oggetto {{jsxref("String")}} chiamante della prima occorrenza del valore specificato, avviando la ricerca su fromIndex. Restituisce -1 se il valore non viene trovato.
str.indexOf(searchValue[, fromIndex])
"undefined" e questo valore verrà cercato nella stringa corrente.0. Per valori fromIndex values inferiori a 0 o maggiori di str.length, la ricerca inizia rispettivamente con 0 e str.length.L'indice della prima occorrenza di searchValue o -1 se non trovato.
Una stringa vuota searchValue corrisponderà a qualsiasi indice tra 0 e str.length.
I caratteri in una stringa sono indicizzati da sinistra a destra. L'indice del primo carattere è 0 e l'indice dell'ultimo carattere di una stringa chiamata stringName è stringName.length - 1.
'Blue Whale'.indexOf('Blue'); // ritorna 0
'Blue Whale'.indexOf('Blute'); // ritorna -1
'Blue Whale'.indexOf('Whale', 0); // ritorna 5
'Blue Whale'.indexOf('Whale', 5); // ritorna 5
'Blue Whale'.indexOf('Whale', 7); // ritorna -1
'Blue Whale'.indexOf(''); // ritorna 0
'Blue Whale'.indexOf('', 9); // ritorna 9
'Blue Whale'.indexOf('', 10); // ritorna 10
'Blue Whale'.indexOf('', 11); // ritorna 10
Il metodo indexOf() è case sensitive. Ad esempio, la seguente espressione restituisce -1:
'Blue Whale'.indexOf('blue'); // ritorna -1
Nota che '0' non valuta true e '-1' non valuta false. Pertanto, quando si verifica se esiste una stringa specifica all'interno di un'altra stringa, il modo corretto per verificare sarebbe:
'Blue Whale'.indexOf('Blue') !== -1; // true
'Blue Whale'.indexOf('Bloe') !== -1; // false
indexOf()Nell'esempio seguente viene utilizzato indexOf() per individuare i valori nella stringa "Brave new world".
const str = 'Brave new world';
console.log('L'indice della prima w dall'inizio è ' + str.indexOf('w')); // logga 8
console.log('L'indice di "new" dall'inizio è ' + str.indexOf('new')); // logga 6
indexOf() e il case-sensitivityL'esempio seguente definisce due variabili stringa. Le variabili contengono la stessa stringa tranne che la seconda stringa contiene lettere maiuscole. Il primo metodo {{domxref("console.log()")}} mostra 19. Ma poiché il metodo indexOf() è case sensitive, la stringa "cheddar" non si trova in myCapString, quindi il secondo metodo console.log() mostra -1.
const myString = 'brie, pepper jack, cheddar';
const myCapString = 'Brie, Pepper Jack, Cheddar';
console.log('myString.indexOf("cheddar") è ' + myString.indexOf('cheddar'));
// logs 19
console.log('myCapString.indexOf("cheddar") è ' + myCapString.indexOf('cheddar'));
// logs -1
indexOf() per contare le occorrenze di una lettera in una stringaL'esempio seguente imposta count sul numero di occorrenze della lettera e nella stringa str:
const str = 'Essere o non essere, questa è la domanda.';
let count = 0;
let position = str.indexOf('e');
while (position !== -1) {
count++;
position = str.indexOf('e', position + 1);
}
console.log(count); // mostra 4
| Specifica | Stato | Commento |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Definizione iniziale. |
| {{SpecName('ES5.1', '#sec-15.5.4.7', 'String.prototype.indexOf')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.String.indexOf")}}