logo

Skillnaden mellan indexof och sökning i JavaScript

Introduktion:

JavaScript är ett flitigt använt programmeringsspråk, och det tillhandahåller flera inbyggda metoder för att manipulera strängar. Två av de mest använda metoderna för att söka i en sträng efter ett specifikt tecken eller delsträng är index för() och Sök() . Även om dessa två metoder kan verka lika i funktionalitet, har de några viktiga skillnader. I den här artikeln kommer vi att utforska skillnaderna mellan indexOf() och search() i JavaScript.

indexOf() Metod:

De index för() metod är en inbyggd JavaScript-funktion som används för att hitta indexet för den första förekomsten av en delsträng inom en given sträng. Denna metod returnerar indexet för den första förekomsten av den angivna delsträngen, med början från början av strängen. Om delsträngen inte hittas returneras metoden -1 .

Syntax:

Syntaxen för att använda index för() metoden är följande:

 string.indexOf(searchValue[, fromIndex]) 

Här, sträng är strängen som ska sökas, sökvärde är värdet att söka efter, och från Index är den valfria parametern som anger positionen i strängen där sökningen ska börja. Om från Index inte tillhandahålls, den index för() metoden startar sökningen från början av strängen. Om från Index är en negativ värde börjar sökningen från slutet av strängen.

Exempel:

Skådespelaren Rekha

Låt oss ta ett exempel för att förstå index för() metod:

 let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index); 

Produktion:

 16 

Förklaring:

Här, den indexOf() metod söker efter den första förekomsten av ordet 'kraftfull' i snöret 'JavaScript är ett kraftfullt programmeringsspråk' . Sedan ordet 'kraftfull' visas i index 16 , returnerar metoden 16 .

search() Metod:

De search() metod är också en inbyggd JavaScript-funktion som används för att hitta indexet för det första tecknet i en delsträng inom en given sträng. Denna metod returnerar indexet för den första förekomsten av den angivna delsträngen, med början från början av strängen. Om delsträngen inte hittas returneras metoden -1 .

Syntax:

Syntaxen för att använda search() metod enligt följande:

 string.search(regexp) 

Här, sträng är strängen som ska sökas, och regexp är vanligt uttryck mönster att söka efter. Om vanligt uttryck mönstret finns, den Sök() metod returnerar indexet för det första tecknet i matchningen. Om det reguljära uttrycksmönstret inte hittas returneras metoden -1 .

Exempel:

Låt oss ta ett exempel för att förstå Sök() metod:

 let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index); 

Produktion:

 16 

Förklaring:

Här, den Sök() metod söker efter vanligt uttryck mönster /kraftfull/ i snöret 'JavaScript är ett kraftfullt programmeringsspråk' . Eftersom det reguljära uttrycksmönstret matchar ordet 'kraftfull' , returnerar metoden 16 .

Skillnader mellan indexOf() och search():

Även om båda index för() och Sök() metoder används för att söka efter en delsträng inom en given sträng, de har några viktiga skillnader. Låt oss ta en titt på dessa skillnader sida vid sida:

indexOf() metod search() Metod
index för() metod söker efter en specificerad delsträng inom en given sträng. Sök() metod söker efter ett reguljärt uttrycksmönster inom en given sträng.
Metoden indexOf() returnerar indexet för den första förekomsten av den angivna delsträngen. Metoden search() returnerar indexet för det första tecknet i matchningen.
Metoden indexOf() stöder inte reguljära uttryck. Metoden search() stöder reguljära uttryck.
Metoden indexOf() kan acceptera en valfri parameter från Index för att starta sökningen från ett specifikt index. Metoden search() accepterar inte en valfri parameter för att starta sökningen från ett specifikt index.
Metoden indexOf() är snabbare än metoden search() eftersom den inte stöder reguljära uttryck. Metoden search() är långsammare än metoden indexOf() eftersom den stöder reguljära uttryck.
Metoden indexOf() är skiftlägeskänslig. Search()-metoden är också skiftlägeskänslig som standard, men kan göras skiftlägesokänslig med hjälp av /i flagga i det reguljära uttrycksmönstret.
Metoden indexOf() används ofta för enkla strängsökningar. Metoden search() används ofta för komplex mönstermatchning med reguljära uttryck.

Slutsats:

Sammanfattningsvis båda index för() och Sök() metoder är användbara för att söka efter en delsträng inom en given sträng. Men de har några viktiga skillnader som gör dem lämpliga för olika användningsfall. Metoden indexOf() är snabbare och mer lämpad för enkla strängsökningar, medan search()-metoden stöder reguljära uttryck och är mer lämplig för komplex mönstermatchning. Det är viktigt att välja rätt metod baserat på de specifika kraven i ditt program.