Метод split() на Javascript
Это руководство о том, как разделить строку с помощью JavaScript. Для этого мы будем использовать метод split (). Этот метод принимает один параметр: разделитель. Это символ, на который мы хотим разделить нашу строку.
Разделите строку JavaScript символом дефиса. Давайте начнем с разбиения строки на символ дефиса. Взгляните на следующий пример:
//Пример строки
varstr = ‘Hello-World’;//Давайте разделим эту строку дефисом
varsplitString = str.split(‘-‘);//Протоколируйте массив в консоль
console.log(splitString);//Распечатайте предупреждение
alert(splitString[0] + ‘ и ‘+ splitString[1] + ‘ были разделены!’);
В приведенном выше коде JavaScript у нас есть переменная, содержащая строку “Hello-World”. Однако что, если мы хотим разделить эту строку символом дефиса? В этом случае мы просто передали символ дефиса в метод split (). Следовательно, метод split() вернет массив с нашей разделенной строкой:
Array(2)
0: »Hello»
1: »World»
length: 2
__proto__: Array (0)
Как видите, результирующий массив содержит две строки: “Hello” и “World”. Кроме того, символ дефиса, который изначально был в нашей строке, теперь исчез. Если вы запустите пример кода выше, ваш браузер распечатает следующее предупреждение:
Hello и World были разделены!
Разбиение строки JavaScript на несколько частей
В некоторых случаях символ-разделитель может существовать в нашей строке более одного раза.
//Пример строки с несколькими дефисами.
varstr = ‘Кошка-Собака-Рыба’;//Разбить строку на массив
varsplitString = str.split(‘-‘);//Запишите наш массив в консоль.
console.log(splitString);
Здесь вы можете видеть, что наша строка содержит два дефиса. В результате метод split() разделит нашу строку на три строки:
(3) [»Кошка»,»Собака»,»Рыба»]
0: »Кошка»
1: »Собака»
2: »Рыба»
length: 3
__proto__: Array (0)
Массив, который возвращает функция split (). Как вы можете видеть, нет никаких ограничений на количество частей, на которые может быть разделена ваша строка. Если бы в нашей строке было три дефиса, это привело бы к четырем “частям”.
Uncaught TypeError: split неопределен.
Если вы наблюдаете эту ошибку, то вполне вероятно, что вы вызываете метод split() для переменной, которая не является строкой. Возьмем в качестве примера следующий фрагмент кода:
//Число, содержащее точку / десятичный знак.
varnum = 123,99;//Попытайтесь разделить число на десятичные разряды.
varsplitString = num.split(‘.’);
Здесь мы попытались разделить число на десятичные разряды. Однако рассматриваемая переменная на самом деле является переменной с плавающей точкой. В результате будет выброшен неперехваченный TypeError.
Чтобы исправить эту конкретную ошибку, нам нужно будет разобрать наш номер как строку JS, прежде чем мы попытаемся разделить его.
//Число, содержащее точку / десятичный знак.
varnum = 123,99;//Преобразуем наш поплавок в строку.
num = num.toString();//Попытайтесь разделить число на десятичные разряды.
varsplitString = num.split(‘.’);
На этот раз мы использовали метод toString() до того, как попытались использовать метод split (). Если вы запустите приведенный выше пример кода, то увидите, что он теперь работает.
И это все! Надеемся, это руководство избавит вас от головной боли!