Ce face String.prototype.indexOf / lastIndexOf
indexOf caută textul de la stânga la dreapta și returnează poziția primei apariții. lastIndexOf caută de la dreapta la stânga și returnează poziția ultimei apariții. Dacă textul nu apare, ambele returnează -1.
Pentru o simplă verificare „conține sau nu” folosește includes, care se citește mai ușor.
Parametri
| Parametru | Descriere |
|---|---|
cauta |
Textul căutat. |
deLa / panaLa |
Opțional. indexOf: poziția de la care începe căutarea; lastIndexOf: ultima poziție luată în calcul. |
Ce returnează
Poziția găsită (număr de la 0) sau -1.
Exemple
Exemplul 1: Prima și ultima apariție
const text = "mere, pere, mere, prune";
console.log(text.indexOf("mere"));
console.log(text.lastIndexOf("mere"));
console.log(text.indexOf("mere", 1));
console.log(text.indexOf("caise"));
Rezultat
0
12
12
-1
Exemplul 2: Numele și extensia unui fișier
const fisier = "raport.anual.2026.xlsx";
const punct = fisier.lastIndexOf(".");
console.log(fisier.slice(0, punct));
console.log(fisier.slice(punct + 1));
Rezultat
raport.anual.2026
xlsx
Exemplul 3: Toate pozițiile unui cuvânt
const text = "da, nu, da, poate, da";
const pozitii = [];
let poz = text.indexOf("da");
while (poz !== -1) {
pozitii.push(poz);
poz = text.indexOf("da", poz + 1);
}
console.log(pozitii);
Rezultat
[ 0, 8, 19 ]
Greșeli frecvente
- Scrii
if (text.indexOf("x")). Când textul este la început, poziția este 0, care înifînseamnă fals, iar când lipsește, -1 înseamnă adevărat. Compară cu!== -1sau foloseșteincludes.
Comenzi înrudite
includes: Verifică dacă un text conține alt text sau dacă un tablou conține o valoare.slice: Extrage o bucată dintr-un text sau dintr-un tablou, fără să modifice originalul.Array.prototype.indexOf / lastIndexOf: Returnează poziția primei (sau ultimei) apariții a unei valori în tablou, ori -1.