Método split
O método split divide
uma string em um array pelo
separador especificado no
primeiro parâmetro.
Se não for especificado - a string
inteira será retornada.
Se for especificado como aspas vazias,
cada caractere da string será colocado
em um elemento separado do array.
Um segundo parâmetro opcional permite
especificar o número máximo de
elementos no array resultante.
Sintaxe
string.split([separador], [número máximo de elementos]);
Exemplo
Suponha uma string com hífens. Vamos
dividir essa string em um array usando o
separador '-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Resultado da execução do código:
['ab', 'cd', 'ef']
Exemplo
Vamos dividir a string novamente pelo separador
'-', mas especificando como segundo parâmetro
o número máximo de elementos no array resultante,
por exemplo, 2. Neste caso, apenas
2 elementos serão armazenados no array:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Resultado da execução do código:
['ab', 'cd']
Exemplo
Vamos colocar cada caractere da string em um elemento separado do array:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Resultado da execução do código:
['a', 'b', 'c', 'd', 'e']
Exemplo
Vamos colocar os primeiros 3 caracteres da string
em elementos separados do array:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Resultado da execução do código:
['a', 'b', 'c']
Exemplo
Vamos usar split para dividir
uma string com números. Observe que
o resultado será um array de strings,
e não um array de números:
let str = '12345';
let arr = str.split('');
console.log(arr);
Resultado da execução do código:
['1', '2', '3', '4', '5']
Exemplo . Aplicação
Vamos inverter os caracteres da string na
ordem reversa. Para isso, dividimos a string em um array
usando split com o separador ''
(isso colocará cada caractere da string em um elemento
separado do array), inverteremos este array
usando reverse
e depois juntaremos o array invertido novamente
usando join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Resultado da execução do código:
'987654321'
Exemplo . Aplicação
Vamos simplificar a solução do problema anterior - unir todos os comandos em uma cadeia:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Resultado da execução do código:
'987654321'
Exemplo . Aplicação
Dada uma string com dígitos. Vamos encontrar a soma dos dígitos
desta string. Para isso, dividiremos a string
em um array e, em seguida, percorreremos este array e
encontraremos sua soma. Cuidado: split
retorna strings, portanto, ao somar,
converta esses dígitos-strings em números
reais usando 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);
Resultado da execução do código:
15
Exemplo . Aplicação
Dado um número. Vamos colocar cada dígito
deste número em um elemento separado do array.
Há um detalhe - split é aplicado
apenas a strings, e temos um número. Vamos primeiro
converter o número para string usando String,
e então aplicar split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Resultado da execução do código:
['1', '2', '3', '4', '5']