Primjer JavaScript podijeljenog niza - Kako podijeliti niz u niz u JS-u

Niz je podatkovna struktura koja predstavlja slijed znakova, a niz je podatkovna struktura koja sadrži više vrijednosti.

A jeste li znali - niz se pomoću splitmetode može rastaviti na niz višestrukih nizova . Pogledajmo kako to funkcionira na nekim primjerima.

TL; DR

Ako samo želite kôd, evo:

const publisher = 'free code camp' publisher.split(' ') // [ 'free', 'code', 'camp' ] 

Sintaksa

Prema MDN-u, sintaksa koja će vam trebati za razdvajanje niza je str.split([separator[, limit]]). Ako ovo primijenimo na gornji primjer:

  • str je publisher
  • separator je ' '
  • ne postoji limit

Kada trebate podijeliti niz?

Primjer 1: dobivanje dijela niza

Evo uobičajenog primjera koji uključuje dobivanje tokena iz autorskog zaglavlja koje je dio autentifikacijskog sustava temeljenog na žetonu.

Ako vam ovo ništa ne znači, u redu je. Sve što trebate znati za sljedeći primjer je da postoji niz s vrijednošću bearer token, ali samo tokenje potreban (jer je ovo dio koji identificira korisnika):

const authHeader = 'bearer token' const split = authHeader.split(' ') // (1) [ 'bearer', 'token' ] const token = split[1] // (2) token

Evo što se događa u gornjem kodu:

  1. Niz je podijeljen sa ' 'kao separator
  2. Pristupa se drugom unosu u polju

Primjer 2: primijenite metode niza na niz

Često je ulazni ti si dao je niz, ali želite primijeniti metode array na njega (npr. map, filterIli reduce).

Na primjer, recimo da ste dobili niz Morseova koda i želite vidjeti što čita na engleskom:

const morse = '-.-. --- -.. .' // (1) const morseToChar = { '-.-.': 'c', '-..': 'd', '.': 'e', '---': 'o', } const morseArray = morse.split(' ') // (2) [ '-.-.', '---', '-..', '.' ] const textArray = morseArray.map((char) => morseToChar[char]) // (3) [ 'c', 'o', 'd', 'e' ] const text = textArray.join(") // (4) 

Evo što se događa u gornjem kodu:

  1. Stvoren je doslovni objekt za mapiranje Morseovih znakova u englesku abecedu
  2. Morseova šifra podijeljena je u niz s ' 'separatorom. (Bez ' 'kao argumenta dobili biste niz koji ima zasebne unose za svaki .i -.)
  3. Morseov niz se preslikava / transformira u tekstualni niz
  4. Niz se stvara iz niza s ''razdjelnikom. (Bez ''argumenta izlaz bi bio c,o,d,e.)

Kako dodati ograničenje za razdvajanje

Prema MDN-u, također je moguće iznijeti limitargument kao split. Nikad to nisam trebao učiniti, ali evo kako biste to mogli primijeniti:

const publisher = 'free code camp' publisher.split(' ', 1) // [ 'free' ] 

U gornjem primjeru niz je ograničen na jedan unos. Bez nje bi vrijednost niza bila [ 'free', 'code', 'camp' ].

Prije nego što odeš…

Hvala vam što ste pročitali ovoliko daleko! Pišem o svojim profesionalnim i obrazovnim iskustvima kao samouki programer softvera, pa slobodno pogledajte moju web stranicu ili se pretplatite na moj bilten za više sadržaja.

Možda će vam se svidjeti i:

  • Naučite JavaScript s ovim resursima
  • Materijal za učenje - razvoj softvera (počevši od Uvoda u CS)