String.split()
El método convierte una cadena en una matriz de subcadenas utilizando un separador y devuelve una nueva matriz. Divide la cadena cada vez que coincide con el separador que se pasa como argumento. También puede pasar un número entero como segundo parámetro para especificar el número de divisiones. String.split()
Para una cadena separada por comas, puede convertirla en un array de la siguiente forma:
const str = 'Manzana,Naranja,Mango,Fresa';
const frutas = str.split(',');
console.log(frutas);
// ["Manzana", "Naranja", "Mango", "Fresa"]
Puede dividir la cadena utilizando: Guiones, Guion Abajo ó incluso espacios vacíos etc.
const str = 'Manzana Naranja Mango Fresa';
const frutas = str.split(' ');
Si se utiliza una cadena vacía como separador, la cadena se divide entre cada carácter: ''
const str = 'manzana';
const caracteres = str.split('');
console.log(caracteres);
// ["m", "a", "n", "z", "a", "n", "a"]
Para limitar el número de elementos de un array, puede pasar un segundo parámetro para especificar el número de divisiones. Por ejemplo, limitemos nuestra lista de frutas para que sólo incluya los dos primeros elementos:
const str = 'Manzana,Naranja,Mango,Fresa';
const frutas = str.split(',', 2);
console.log(frutas);
// ["Manzana", "Naranja"]
Array.from()
El método Array.from()
crea una nueva instancia a partir de un array o un objeto iterable. Si se pasa una cadena se convertirá en un array de caracteres:
const str = '?????';
const faces = Array.from(str);
console.log(faces);
// ["?", "?", "?", "?", "?"]
Sintáxis Spread
La sintaxis extendida o spread syntax es otra forma moderna de convertir una cadena en una matriz en ES6 ...
const str = '?????';
const faces = [...str];
console.log(faces);
// ["?", "?", "?", "?", "?"]
Object.assign()
También puede utilizar el método para convertir una cadena en un array de caracteres como se muestra a continuación: Object.assign()
const str = 'JavaScript';
const letras = Object.assign([], str);
console.log(letras);
// ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]
Tenga cuidado al usar para dividir una cadena en un array. Este método copia "todas las propiedades propias enumerables". Este método significa que copiará todas las propiedades de la cadena al nuevo array.
? En este artículo, hemos visto 4 formas diferentes de convertir una cadena en un array en JavaScript.
Si todo lo que quieres hacer es convertir una cadena en un array de caracteres individuales, puedes utilizar cualquiera de los métodos anteriores. Todos ellos funcionan perfectamente bien y producen los mismos resultados.