Метод split
Метод split разбивает строки в массив по указанному в первом параметре разделителю. Если он не задан — вернется вся строка. Если он задан как пустые кавычки, то каждый символ строки попадет в отдельный элемент массива. Вторым необязательным параметром можно указать максимальное количество элементов в получившемся массиве.
Синтаксис
строка.split([разделитель], [максимальное количество элементов]);
Пример
Пусть дана некоторая строка с дефисами. Давайте разобьем эту строку в массив по разделителю ‘-‘ :
let str = ‘ab-cd-ef’; let arr = str.split(‘-‘); console.log(arr);
Результат выполнения кода:
Пример
Давайте опять разобьем строку по разделителю ‘-‘ , однако вторым параметром укажем максимальное количество элементов в получившемся массиве, например, 2 . В этом случае в массив запишется только 2 элемента:
let str = ‘ab-cd-ef’; let arr = str.split(‘-‘, 2); console.log(arr);
Результат выполнения кода:
Пример
Давайте каждый символ строки запишем в отдельный элемент массива:
let str = ‘abcde’; let arr = str.split(»); console.log(arr);
Результат выполнения кода:
Пример
Давайте первые 3 символа строки запишем в отдельные элементы массива:
let str = ‘abcde’; let arr = str.split(», 3); console.log(arr);
Результат выполнения кода:
Пример
Давайте с помощью split разобьем строку с числами. Обратите внимание на то, что в результате получится массив строк, а не массив чисел:
let str = ‘12345’; let arr = str.split(»); console.log(arr);
Результат выполнения кода:
Пример . Применение
Давайте перевернем символы строки в обратном порядке. Для этого разобьем строку в массив с помощью split по разделителю » (это разместит каждый символ строки в отдельный элемент массива), перевернем этот массив с помощью reverse и затем сольем перевернутый массив обратно с помощью join :
let str = ‘123456789’; let arr1 = str.split(»); let arr2 = arr1.reverse(); let res = arr2.join(»); console.log(res);
Результат выполнения кода:
Пример . Применение
Упростим решение предыдущей задачи — сольем все команды в цепочку:
let str = ‘123456789’; let res = str.split(»).reverse().join(»); console.log(res);
Результат выполнения кода:
Пример . Применение
Дана строка с цифрами. Найдем сумму цифр из этой строки. Для этого разобьем строку в массив, а затем переберем этот массив и найдем его сумму. Нас ждет подвох: split возвращает строки, поэтому при суммировании преобразуем эти цифры-строки в настоящие числа с помощью Number :
let str = ‘12345’; let arr = str.split(»); let sum = 0; for (let i = 0; i < arr.length; i++) < sum += Number(arr[i]); >console.log(sum);
Результат выполнения кода:
Пример . Применение
Дано число. Давайте запишем каждую цифру этого числа в отдельный элемент массива. Тут есть подвох — split применяется только к строкам, а у нас число. Преобразуем вначале число к строке с помощью String , а затем применим split :
let num = 12345; let str = String(num); let arr = str.split(»); console.log(arr);
Результат выполнения кода:
Смотрите также
- метод join ,
который сливает элементы массива в строку - метод split ,
который разбивает строку по регулярке - метод reverse ,
который изменяет порядок элементов в массиве на обратный - свойство length ,
которое позволяет узнать длину строки
split()
Метод split() используется для разбиения строки на массив подстрок и возвращает новый массив.
Совет. Если в качестве разделителя используется пустая строка («»), строка разделяется между каждым символом.
Примечание. Метод split() не изменяет исходную строку.
Поддержка браузеров
Синтаксис
Значения параметров
| Параметр | Описание |
| separator | Необязательный. Указывает символ или регулярное выражение, используемое для разделения строки. Если не указано, будет возвращена вся строка (массив с одним элементом) |
| limit | Необязательный. Целое число, которое определяет количество разделов, элементы после разделительного предела не будут включены в массив |
Технические подробности
| Возвращаемое значение: | Массив, содержащий разделенные значения |
| Версия JavaScript: | ECMAScript 1 |
Дополнительные примеры
Опустить параметр разделителя:
var string = "You know nothing Jon Snow"; var result = string.split(); // You know nothing Jon Snow
Отделить каждый символ, включая пробелы:
var string = "You know nothing Jon Snow"; var result = string.split(""); // Y,o,u, ,k,n,o,w, ,n,o,t,h,i,n,g, ,J,o,n, ,S,n,o,w
Использование параметра limit:
var string = "You know nothing Jon Snow"; var result = string.split(" ", 3); // You,know,nothing
Использование буквы в качестве разделителя:
var string = "You know nothing Jon Snow"; var result = string.split("o"); // Y,u kn,w n,thing J,n Sn,w
split()
split() — метод разбивает строку на массив строк используя для этого заданный разделитель.
Синтаксис
str.split(separator, limit)
separator — условие по которому будет разделена строка. В качестве разделителя может выступать строковый литерал или регулярное выражение. Также можно использовать специальные символы, например перевод строки, кавычки или юникод. Параметр является необязательным.
limit — количество элементов, которые должен вернуть метод. Параметр необязательный, если пропустить в массив попадут все подстроки. Если задать, то split() все-равно разделит всю строку по разделителям, но возвратит только указанное количество.
При нахождении разделителя метод удаляет separator и возвращает подстроку.
Если задать в качестве разделителя пустое значение » , тогда каждый символ строки запишется в отдельный элемент массива.
Если при записи split() пропустить separator , то метод вернет массив с одним элементом, который будет содержать всю строку.
Разбить строку по разделителю
let mySkills = 'Native JavaScript-React-HTML-CSS' mySkills = mySkills.split('-', 2) console.log(mySkills)
Результатом будет массив с двумя элементами: Native JavaScript и React
Разбить строку на символы
let myDream = 'Хочу стать frontend разработчиком' let allSymbols = myDream.split('') for (let n = 0; n
Здесь мы разделили строку myDream с помощью split(») , задав в качестве separator пустое значение. Все это записали в allSymbols — теперь там массив, где каждый элемент это символ нашей строки. Далее используя цикл for вывели в console все символы — каждый с новой строки.
Разбить строку используя регулярное выражение
let topProgramLang = 'JavaScript-Python-Java-C++,PHP,C,C#' topProgramLang = topProgramLang.split(/,|-/) console.log(topProgramLang)
/,|-/ в этом регулярном выражении мы указали разделители, которые необходимо учесть — запятая и дефис. В итоге получаем массив, где перечислены все языки программирования указанные изначально.
Вывести символы строки в обратном порядке
let importanceSkills = 'React,TypeScript,CSS,HTML,JavaScript' importanceSkills = importanceSkills.split(',') importanceSkills = importanceSkills.reverse() importanceSkills = importanceSkills.join(', ') console.log(importanceSkills)
Для того, чтобы решить эту задачу нам понадобятся еще два метода reverse() и join() . Первый перевернет массив, а второй объединит элементы в строку. В итоге получим в console JavaScript, HTML, CSS, TypeScript, React
Сумма элементов массива
let numForSum = '1,2,5,10,392,19,3,10' numForSum = numForSum.split(',') let sumNum = 0 for (let n = 0; n < numForSum.length; n++) < sumNum += +(numForSum[n]) >console.log(sumNum)
Выполняя подобные задачи стоит помнить, что метод split() записывает данные в массив в формате строки, поэтому перед тем, как складывать элементы необходимо сначала привести их к числу. Здесь это сделано с помощью + перед выражением. Также можно воспользоваться функцией Number(numForSum[n]) .
Итого
1. Метод split() делит строку по разделителю и записывает все в массив.
2. В получившемся массиве, элементы хранятся в формате текст.
3. В параметрах метода, первым свойством задается разделитель, вторым ограничение на вывод элементов. Оба параметра не обязательны.
Skypro — научим с нуля
как разделить строку js
Чтобы разбить строку str на части (отдельные слова), мы можем использовать метод split() . Этот метод разбивает строку на массив элементов этой строки, используя разделитель, который мы передаем в качестве аргумента. В данном примере, мы можем использовать пробел в качестве разделителя, так как слова в строке отделены пробелами.
const str = 'lorem ipsum'; const words = str.split(' '); console.log(words); // ["lorem", "ipsum"]
Теперь мы можем использовать массив words для доступа к каждому слову в строке. Например, мы можем вывести первое слово в консоль:
console.log(words[0]); // "lorem"
