Tengo debajo de la cadena -
var a = "1,2,3,4";
Cuando lo hago -
var b = a.split(',');
Me pongo bcomo["1", "2", "3", "4"]
puedo hacer algo para conseguir bque [1, 2, 3, 4]?
javascript
arrays
Ashwin
fuente
fuente

Puede usar
Array.mappara 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:
mapmira 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.mapno 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
+stringintentará cambiar la cadena a un número. Luego use laArray.mapfunción para cambiar cada elemento.fuente
Array.from () para más detalles vaya a MDN
bes 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
_.mapy_.arymé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
radixparámetros aparseInt, solo useparseFloato en suNumberlugar.Razones:
Esta funcionando:
Es mas corto.
Es un poco más rápido y aprovecha la memoria caché, cuando el
parseIntenfoque no lo hace :Aviso: en Firefox
parseIntfunciona aproximadamente 4 veces más rápido, pero aún más lento que otros. En total:+e<Number<parseFloat<parseIntfuente
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
NaNser incluidas, pensé agregar que si desea convertir rápidamente una matriz de valores mixtos en números, puede hacerlo.fuente