Автор оригинала: FreeCodeCamp Community Member.
Строка – это структура данных, которая представляет собой последовательность символов, и массив представляет собой структуру данных, которая содержит несколько значений.
И знаете ли вы – строка может быть разбита в массиве нескольких строк, используя Сплит метод. Давайте посмотрим, как это работает с некоторыми примерами.
TL; доктор
Если вы просто хотите код, здесь вы идете:
const publisher = 'free code camp'
publisher.split(' ') // [ 'free', 'code', 'camp' ]
Синтаксис
Согласно MDN синтаксис, который вам нужно будет разделить строку, это str.split ([разделитель [, лимит]]) Отказ Если мы применим это к вышеуказанному примеру:
ул ...| этоиздательразделительэто«нет- предел
Когда вам нужно разделить строку?
Пример 1: Получение части строки
Вот обычный пример, который включает в себя получение токена от заголовка аутента, который является частью системы аутентификации на основе токена.
Если это ничего не значит для вас, все в порядке. Все, что вам нужно знать для следующего примера, состоит в том, что есть строка со значением Токен носителя , но только токен требуется (так как это часть, которая идентифицирует пользователя):
const authHeader = 'bearer token'
const split = authHeader.split(' ') // (1) [ 'bearer', 'token' ]
const token = split[1] // (2) tokenВот что происходит в вышеуказанном коде:
- Строка разделена с
''как сепаратор - Вторая запись в массиве доступна
Пример 2: Применять методы массива в строку
Часто приведен входные данные, представляет собой строку, но вы хотите применить к нему методы массива (например, Map , Фильтр или Уменьшить ).
Например, скажем, вам дают строку кода Morse, и вы хотите увидеть, что он читает на английском языке:
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)
Вот что происходит в вышеуказанном коде:
- Объектный литерал создан для отображения MORSE CHARS на английский алфавит
- Код Морзе разбивается в массив с
''как сепаратор. (Без''в качестве аргумента, который вы получите с массивом, который имеет отдельные записи для каждого.и-.) - Массив MORSE кода отображается/преобразован в текстовый массив
- Строка создана из массива с
''как сепаратор. (Без''в качестве аргумента вывод будетC, O, D, E.)
Как добавить предел для разделения
Согласно MDN , также возможно пройти Ограничить как аргумент для Сплит Отказ Мне никогда не нужно было сделать это, но вот как вы можете применить это:
const publisher = 'free code camp'
publisher.split(' ', 1) // [ 'free' ]
В приведенном выше примере массив ограничен одной записью. Без этого ценность массива будет [«Бесплатно», «код», «лагерь»] Отказ
Прежде чем ты уйдешь…
Спасибо за чтение этого далеко! Я пишу о моем профессиональном и образовательном опыте в качестве разработчика программного обеспечения самоучка, поэтому не стесняйтесь проверить мой сайт или подписаться на Моя рассылка для большего количества контента.
Вы также можете понравиться:
- Узнайте JavaScript с этими ресурсами
- Материал обучения – Разработка программного обеспечения (начиная с Intro на CS)