logo

Verschil tussen indexof en zoeken in JavaScript

Invoering:

JavaScript is een veelgebruikte programmeertaal en biedt verschillende ingebouwde methoden om tekenreeksen te manipuleren. Twee van de meest gebruikte methoden voor het zoeken in een string naar een specifiek teken of substring zijn index van() En zoekopdracht() . Hoewel deze twee methoden qua functionaliteit vergelijkbaar lijken, hebben ze een paar belangrijke verschillen. In dit artikel onderzoeken we de verschillen tussen indexOf() en search() in JavaScript.

indexOf() Methode:

De index van() methode is een ingebouwde JavaScript-functie die wordt gebruikt om de index te vinden van de eerste keer dat een subtekenreeks binnen een bepaalde tekenreeks voorkomt. Deze methode retourneert de index van de eerste keer dat de opgegeven subtekenreeks voorkomt, beginnend bij het begin van de tekenreeks. Als de subtekenreeks niet wordt gevonden, retourneert de methode -1 .

Syntaxis:

De syntaxis voor het gebruik van de index van() werkwijze is als volgt:

 string.indexOf(searchValue[, fromIndex]) 

Hier, snaar is de string waarnaar moet worden gezocht, zoekwaarde is de waarde waarnaar moet worden gezocht, en vanIndex is de optionele parameter die de positie in de tekenreeks specificeert waar de zoekopdracht moet beginnen. Als de vanIndex niet wordt verstrekt, de index van() methode start de zoekopdracht vanaf het begin van de string. Als vanIndex is een negatief waarde, begint de zoekopdracht vanaf het einde van de tekenreeks.

Voorbeeld:

wat is GB

Laten we een voorbeeld nemen om het te begrijpen index van() methode:

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

Uitgang:

 16 

Uitleg:

Hier de indexOf()-methode zoekt naar de eerste keer dat het woord voorkomt 'krachtig' in het touwtje 'JavaScript is een krachtige programmeertaal' . Sinds het woord 'krachtig' verschijnt bij de index 16 , retourneert de methode 16 .

zoeken() Methode:

De zoek() methode is ook een ingebouwde JavaScript-functie die wordt gebruikt om de index van het eerste teken van een subtekenreeks binnen een bepaalde tekenreeks te vinden. Deze methode retourneert de index van de eerste keer dat de opgegeven subtekenreeks voorkomt, beginnend bij het begin van de tekenreeks. Als de subtekenreeks niet wordt gevonden, retourneert de methode -1 .

Syntaxis:

De syntaxis voor het gebruik van de zoek() methode is als volgt:

 string.search(regexp) 

Hier, snaar is de tekenreeks waarnaar moet worden gezocht, en regexp is de reguliere expressie patroon waarnaar u zoekt. Als de reguliere expressie patroon wordt gevonden, de zoekopdracht() methode retourneert de index van het eerste teken van de overeenkomst. Als het reguliere expressiepatroon niet wordt gevonden, retourneert de methode -1 .

Voorbeeld:

Laten we een voorbeeld nemen om het te begrijpen zoekopdracht() methode:

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

Uitgang:

 16 

Uitleg:

Hier de zoekopdracht() methode zoekt naar de reguliere expressie patroon /krachtig/ in het touwtje 'JavaScript is een krachtige programmeertaal' . Omdat het reguliere expressiepatroon overeenkomt met het woord 'krachtig' , retourneert de methode 16 .

Verschillen tussen indexOf() en zoeken():

Hoewel beide index van() En zoekopdracht() methoden worden gebruikt om naar een subtekenreeks binnen een bepaalde tekenreeks te zoeken, hebben ze een paar belangrijke verschillen. Laten we deze verschillen eens naast elkaar bekijken:

indexOf() Methode zoek() Methode
index van() methode zoekt naar een gespecificeerde substring binnen een gegeven string. zoekopdracht() methode zoekt naar een reguliere-expressiepatroon binnen een gegeven string.
De methode indexOf() retourneert de index van de eerste keer dat de opgegeven subtekenreeks voorkomt. De search() methode retourneert de index van het eerste teken van de overeenkomst.
De methode indexOf() ondersteunt geen reguliere expressies. De methode search() ondersteunt reguliere expressies.
De methode indexOf() kan een optionele parameter fromIndex accepteren om de zoekopdracht vanuit een specifieke index te starten. De methode search() accepteert geen optionele parameter om de zoekopdracht vanuit een specifieke index te starten.
De methode indexOf() is sneller dan de methode search() omdat deze geen reguliere expressies ondersteunt. De methode search() is langzamer dan de methode indexOf() omdat deze reguliere expressies ondersteunt.
De indexOf()-methode is hoofdlettergevoelig. De methode search() is standaard ook hoofdlettergevoelig, maar kan hoofdletterongevoelig worden gemaakt met behulp van de /i vlag in het reguliere expressiepatroon.
De methode indexOf() wordt veel gebruikt voor eenvoudige zoekopdrachten naar tekenreeksen. De search()-methode wordt veel gebruikt voor het matchen van complexe patronen met behulp van reguliere expressies.

Conclusie:

Kortom, beide index van() En zoekopdracht() methoden zijn handig voor het zoeken naar een subtekenreeks binnen een bepaalde tekenreeks. Ze hebben echter een paar belangrijke verschillen die ze geschikt maken voor verschillende gebruiksscenario’s. De methode indexOf() is sneller en geschikter voor eenvoudige zoekopdrachten naar tekenreeksen, terwijl de methode search() reguliere expressies ondersteunt en geschikter is voor het matchen van complexe patronen. Het is belangrijk om de juiste methode te kiezen op basis van de specifieke vereisten van uw programma.