Estoy tratando de convertir una cadena de números en una matriz de elementos con cada número. Pensé que parseInt convertiría la cadena en números, pero ahora estoy un poco perdido.
const str = '1 2 3 4'; let words = parseInt(str); words = str.split(' ');lo que resulta en
Array ["1", "2", "3", "4"]Sin embargo, me gustaría que el resultado fuera
[1, 2, 3, 4]Puede aplicar una pequeña función de mapa para hacer eso. Cuando está haciendo una conversión simple como esta, puede usar un solo método en el argumento del mapa como acceso directo
str.split(' ').map(Number)es lo mismo que
str.split(' ').map(n => Number(n))que es lo mismo que
str.split(' ').map(n => { return Number(n); }) const str = '1 2 3 4'; let words = str.split(' ').map(Number) console.log(words);str.split(' ').map(Number) no es una respuesta incorrecta para los datos proporcionados, pero ¿qué sucede si recibe una cadena como '1 2 3 4' ? El resultado sería [1, 0, 0, 0, 2, 3, 0, 0, 0, 4] .
Así que tal vez
[...str].reduce((r,c) => c === " " ? r : (r.push(+c),r),[]);o
[...str].reduce((r,c) => c === " " ? r : r.concat(+c),[]);podría hacerlo mejor.