Primjeri JavaScript podnizova - Metode odsječaka, podvrsta i podniza u JS-u

U svakodnevnom programiranju često moramo raditi sa žicama. Srećom, u JavaScript postoji mnogo ugrađenih metoda koje nam pomažu tijekom rada s nizovima, nizovima i drugim vrstama podataka. Te metode možemo koristiti za razne operacije poput pretraživanja, zamjene, spajanja nizova itd.

Dohvaćanje podniza iz niza jedna je od najčešćih operacija u JavaScript-u. U ovom ćete članku naučiti kako dobiti podniz pomoću 3 različite ugrađene metode. Ali prvo, dopustite mi da ukratko objasnim što je to podniz.

Što je podniz?

Podniz je podskup drugog niza:

"I am learning JavaScript and it is cool!" --> Original String "I am learning JavaScript" --> Substring "JavaScript is cool!" --> Another Substring

Kao u gornjem primjeru, u nekim slučajevima moramo dobiti jedan ili više podnizova iz cjelovite rečenice ili odlomka. Sada da vidimo kako to učiniti u JavaScript-u na 3 različita načina.

Ovdje možete pogledati i video verziju primjera korištenja:

1. Metoda podniza ()

Počnimo s metodom substring (). Ova metoda u osnovi dobiva dio izvornog niza i vraća ga kao novi niz. Metoda podniza očekuje dva parametra:

string.substring(startIndex, endIndex);
  • startIndex : predstavlja početnu točku podniza
  • endIndex : predstavlja završnu točku pod niza (nije obavezno)

Pogledajmo upotrebu na primjeru. Pretpostavimo da imamo primjer niza u nastavku:

const myString = "I am learning JavaScript and it is cool!";

Ako postavimo startIndex na 0, a endIndex na 10, dobit ćemo prvih 10 znakova izvornog niza:

Međutim, ako za ovaj primjer postavimo samo početni indeks, a nema završnog indeksa:

Tada dobivamo podniz koji započinje od 6. znaka do kraja izvornog niza.

Neke dodatne točke:

  • Ako je startIndex = endIndex, metoda podniza vraća prazan niz
  • Ako su startIndex i endIndex veći od duljine niza, vraća prazan niz
  • Ako startIndex> endIndex, tada metoda podniza zamjenjuje argumente i vraća podniz pretpostavljajući da je endIndex> startIndex

2. Metoda rezanja ()

Metoda slice () slična je metodi substring () i također vraća podniz izvornog niza. Način rezanja također očekuje ista dva parametra:

string.slice(startIndex, endIndex);
  • startIndex : predstavlja početnu točku podniza
  • endIndex : predstavlja završnu točku pod niza (nije obavezno)

Zajedničke točke metoda substring () i slice ():

  • Ako ne postavimo završni indeks, dobit ćemo podniz koji počinje od zadanog broja indeksa do kraja izvornog niza:
  • Ako postavimo i startIndex i endIndex, tada ćemo dobiti znakove između zadanih indeksnih brojeva izvornog niza:
  • Ako su startIndex i endIndex veći od duljine niza, vraća prazan niz

Razlike metode slice ():

  • Ako startIndex> endIndex, metoda slice () vraća prazan niz
  • Ako je startIndex negativan broj, tada prvi znak počinje s kraja niza (obrnuto):
Napomena: Metodu slice () možemo koristiti i za JavaScript nizove. Ovdje možete pronaći moj drugi članak o metodi slice da biste vidjeli upotrebu za nizove.

3. Metoda substr ()

Prema dokumentima Mozille, metoda substr () smatra se naslijeđenom funkcijom i treba izbjegavati njezinu upotrebu. No, ipak ću vam ukratko objasniti što radi, jer biste to mogli vidjeti u starijim projektima.

Metoda substr () također vraća podniz izvornog niza i očekuje dva parametra kao:

string.substring(startIndex, length);
  • startIndex : predstavlja početnu točku podniza
  • duljina : broj znakova koji se uključuju (nije obavezno)

Ovdje možete vidjeti razliku: metoda substr () očekuje drugi parametar kao duljinu umjesto endIndex:

U ovom primjeru u osnovi broji 5 znakova koji počinju s danim startIndexom i vraća ih kao podniz.

Međutim, ako ne definiramo drugi parametar, on se vraća do kraja izvornog niza (kao što to rade prethodne dvije metode):

Napomena: Sve 3 metode vraćaju podniz kao novi niz i ne mijenjaju izvorni niz.

Zamotati

Ovo su 3 različite metode za dobivanje podniza u JavaScript-u. U JS-u postoje mnoge druge ugrađene metode koje nam doista pomažu u radu s raznim stvarima u programiranju. Ako smatrate da je ovaj post koristan, podijelite ga na društvenim mrežama.

Ako želite saznati više o web razvoju, slobodno me pratite na Youtubeu !

Hvala na čitanju!