Un șir este o structură de date care reprezintă o secvență de caractere, iar o matrice este o structură de date care conține mai multe valori.

Și știați – un șir poate fi divizat într-o serie de șiruri multiple folosind split metodă. Să vedem cum funcționează acest lucru cu câteva exemple.

TL; DR

Dacă doriți doar codul, iată:

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

Sintaxă

In conformitate cu MDN, sintaxa de care va trebui să împărțiți șirul este str.split([separator[, limit]]). Dacă aplicăm acest lucru exemplului de mai sus:

  • str este publisher
  • separator este ' '
  • nu este limit

Când trebuie să împărțiți un șir?

Exemplul 1: obținerea unei părți dintr-un șir

Iată un exemplu comun care implică obținerea jetonului dintr-un antet de autentificare care face parte dintr-un sistem de autentificare bazat pe token.

Dacă acest lucru nu înseamnă nimic pentru tine, este în regulă. Tot ce trebuie să știți pentru următorul exemplu este că există un șir cu valoarea bearer token, doar daca token este necesar (deoarece aceasta este partea care identifică utilizatorul):

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

Iată ce se întâmplă în codul de mai sus:

  1. Șirul este împărțit cu ' ' ca separator
  2. A doua intrare din matrice este accesată

Exemplul 2: aplicați metodele matrice unui șir

Adesea intrarea care vi se oferă este un șir, dar doriți să îi aplicați metode matrice (de ex. map, filter, sau reduce).

De exemplu, să presupunem că vi se oferă un șir de cod morse și doriți să vedeți ce citește în engleză:

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)

Iată ce se întâmplă în codul de mai sus:

  1. Se creează un obiect literal pentru a asocia caracterele morse cu alfabetul englez
  2. Codul morse este împărțit într-o matrice cu un ' ' ca separator. (Fără ' ' ca argument, ați ajunge cu o matrice care are intrări separate pentru fiecare . și -.)
  3. Matricea de coduri morse este mapată / transformată într-o matrice de text
  4. Un șir este creat din matricea cu '' ca separator. (Fără '' ca argument, rezultatul ar fi c,o,d,e.)

Cum se adaugă o limită pentru a împărți

In conformitate cu MDN, este de asemenea posibil să treci un limit ca argument pentru split. Nu am avut niciodată nevoie să fac acest lucru, dar iată cum ați putea să-l aplicați:

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

În exemplul de mai sus, matricea este limitată la o singură intrare. Fără ea, valoarea matricei ar fi [ 'free', 'code', 'camp' ].

Inainte sa pleci…

Vă mulțumim că ați citit până aici! Scriu despre experiențele mele profesionale și educaționale ca dezvoltator de software autodidact, așa că nu ezitați să verificați site-ul meu sau abonați-vă la buletinul meu informativ pentru mai mult conținut.

S-ar putea sa-ti placa si: