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 split
mó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
vanpublisher
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 token
van 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:
- A húr
' '
elválasztóként van felosztva - 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
, filter
Vagy 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:
- Egy objektum literál jön létre, hogy a morze betűket feltérképezze az angol ábécére
- 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-
.) - A morzekód tömb leképezve / átalakítva szövegtömbsé
- A tömbből egy karakterlánc jön létre,
''
elválasztóként. (''
Argumentum nélkül a kimenet az lennec,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)