Пример за разделен низ на JavaScript - Как да разделя низ в масив в JS

Низът е структура от данни, която представлява последователност от символи, а масивът е структура от данни, която съдържа множество стойности.

И знаете ли - низ може да бъде разделен на масив от множество низове с помощта на splitметода. Нека да видим как работи това с някои примери.

TL; DR

Ако просто искате кода, ето:

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

Синтаксис

Според MDN синтаксисът, който ще ви е необходим за разделяне на низа, е str.split([separator[, limit]]). Ако приложим това към горния пример:

  • str е publisher
  • separator е ' '
  • няма limit

Кога трябва да разделите низ?

Пример 1: получаване на част от низ

Ето един често срещан пример, който включва получаване на маркера от заглавие на auth, което е част от система за удостоверяване, базирана на Token.

Ако това не означава нищо за вас, това е добре. Всичко, което трябва да знаете за следващия пример, е, че има низ със стойността bearer token, но tokenе необходим само (тъй като това е частта, която идентифицира потребителя):

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

Ето какво се случва в горния код:

  1. Низът е разделен с ' 'като разделител
  2. Достъп се до втория запис в масива

Пример 2: прилагане на масивни методи към низ

Често входа, за който са дадени е низ, но искате да приложите методи масиви към нея (напр. map, filterИли reduce).

Да приемем например, че ви е даден низ от морзова азбука и искате да видите какво се чете на английски:

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) 

Ето какво се случва в горния код:

  1. Създава се обектен литерал за картографиране на морзови символи към английската азбука
  2. Морзовата азбука е разделена на масив с ' 'разделител a . (Без ' 'като аргумент бихте получили масив, който има отделни записи за всеки .и -.)
  3. Масивът на морзовата азбука се картографира / трансформира в текстов масив
  4. От масива се създава низ с ''разделител. (Без ''като аргумент изходът би бил c,o,d,e.)

Как да добавите ограничение за разделяне

Според MDN също е възможно да се предаде limitкато аргумент на split. Никога не ми се е налагало да правя това, но ето как можете да го приложите:

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

В горния пример масивът е ограничен до един запис. Без него стойността на масива би била [ 'free', 'code', 'camp' ].

Преди да тръгнеш…

Благодаря ви, че прочетохте дотук! Пиша за моя професионален и образователен опит като самоук разработчик на софтуер, така че не се колебайте да разгледате моя уебсайт или да се абонирате за моя бюлетин за повече съдържание.

Може да ви хареса също:

  • Научете JavaScript с тези ресурси
  • Учебни материали - разработване на софтуер (започвайки с Intro to CS)