Tengo debajo de la cadena -
var a = "1,2,3,4";
Cuando lo hago -
var b = a.split(',');
Me pongo b
como["1", "2", "3", "4"]
puedo hacer algo para conseguir b
que [1, 2, 3, 4]
?
javascript
arrays
Ashwin
fuente
fuente
Puede usar
Array.map
para convertir cada elemento en un número.Revisa los documentos
O más elegantemente como lo señaló el Usuario: thg435
Dónde
Number()
haría el resto: verifique aquíNota: Para los navegadores más antiguos que no son compatibles
map
, puede agregar una implementación usted mismo como:fuente
map(Number)
."1.1,2,3".split(",").map(Number)
es[1.1, 2, 3]
mientras que"1.1,2,3".split(",").map(item => parseInt(item, 10))
es[1, 2, 3]
Asignarlo a enteros:
map
mira cada elemento de la matriz, lo pasa a la función proporcionada y devuelve una matriz con los valores de retorno de esa función.map
no está disponible en los navegadores antiguos, pero la mayoría de las bibliotecas como jQuery o subrayado incluyen una versión de navegador cruzado.O, si prefieres bucles:
fuente
+string
intentará cambiar la cadena a un número. Luego use laArray.map
función para cambiar cada elemento.fuente
Array.from () para más detalles vaya a MDN
b
es una serie de númerosfuente
Una solución más corta: mapear y pasar los argumentos a
Number
:fuente
fuente
Como variante, puede usar combiantion
_.map
y_.ary
métodos de la biblioteca lodash . Toda la transformación será más compacta. Aquí hay un ejemplo de la documentación oficial :fuente
No hay necesidad de usar lambdas y / o dar
radix
parámetros aparseInt
, solo useparseFloat
o en suNumber
lugar.Razones:
Esta funcionando:
Es mas corto.
Es un poco más rápido y aprovecha la memoria caché, cuando el
parseInt
enfoque no lo hace :Aviso: en Firefox
parseInt
funciona aproximadamente 4 veces más rápido, pero aún más lento que otros. En total:+e
<Number
<parseFloat
<parseInt
fuente
El subrayado js way -
fuente
La versión de Matt Zeunert con la función use arraw (ES6)
fuente
Un trazador de líneas
fuente
Dado que todas las respuestas permiten
NaN
ser incluidas, pensé agregar que si desea convertir rápidamente una matriz de valores mixtos en números, puede hacerlo.fuente