JavaScript split karakterlánc példa - Hogyan lehet egy karakterláncot tömbre osztani a JS-ben

A karaktersorozat egy adatstruktúra, amely egy karaktersorozatot képvisel, a tömb pedig egy olyan adatstruktúra, amely több értéket tartalmaz.

És tudta-e, hogy a karakterláncot a splitmódszer segítségével több karakterlánc tömbjére lehet bontani . Nézzük meg, hogyan működik ez néhány példával.

TL; DR

Ha csak a kódot akarja, tegye:

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

Szintaxis

Az MDN szerint az a szintaxis, amelyre a sztringet fel kell osztania str.split([separator[, limit]]). Ha ezt alkalmazzuk a fenti példára:

  • str van publisher
  • separator van ' '
  • nincs limit

Mikor kell szétválasztani egy karakterláncot?

1. példa: egy karakterlánc részének megszerzése

Itt van egy gyakori példa, amely magában foglalja a token beszerzését egy Token alapú hitelesítési rendszer részét képező hitelesítési fejlécből.

Ha ez nem jelent számodra semmit, akkor rendben van. A következő példához csak annyit kell tudnia, hogy van egy karakterlánc, amelynek értéke van bearer token, de csak arra tokenvan szükség (mivel ez a rész azonosítja a felhasználót):

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

Íme, mi történik a fenti kódban:

  1. A húr ' 'elválasztóként van felosztva
  2. A tömb második bejegyzése elérhető

2. példa: tömb metódusok alkalmazása egy karaktersorozatra

Gyakran a bemenet akkor kapnak egy húr, de alkalmazni kívánt tömb módszereket is (pl. map, filterVagy reduce).

Tegyük fel például, hogy kapsz egy morzsakódot, és meg akarod nézni, mit olvas angolul:

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) 

Íme, mi történik a fenti kódban:

  1. Egy objektum literál jön létre, hogy a morze betűket feltérképezze az angol ábécére
  2. A morzekód tömbre oszlik, ' 'elválasztóként egy . (Anélkül ' 'érvként akkor a végén egy tömb, amely külön bejegyzéseket minden .és -.)
  3. A morzekód tömb leképezve / átalakítva szövegtömbsé
  4. A tömbből egy karakterlánc jön létre, ''elválasztóként. ( ''Argumentum nélkül a kimenet az lenne c,o,d,e.)

Hogyan adhatunk korlátot a felosztáshoz

Az MDN szerint lehetőség van arra is limit, hogy érvelést adjunk neki split. Soha nem volt szükségem erre, de a következőképpen alkalmazhatod:

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

A fenti példában a tömb egyetlen bejegyzésre korlátozódik. Enélkül a tömb értéke lenne [ 'free', 'code', 'camp' ].

Mielőtt mész…

Köszönöm, hogy idáig elolvastad! Autodidakta szoftverfejlesztőként írok szakmai és oktatási tapasztalataimról, ezért nyugodtan nézze meg a webhelyemet, vagy iratkozzon fel a hírlevelemre további tartalomért.

Akár ez is tetszhet:

  • Ismerje meg a JavaScript-et ezekkel az erőforrásokkal
  • Tananyag - szoftverfejlesztés (kezdve az Intro to CS-ig)