Scott Scott - 5 months ago 35
Javascript Question

JavaScript string to array conversion

Short question. How can I convert a string to the JS array?

Look at the code:

var string = "0,1";
var array = [string];
alert(array[0]);


In this case,
alert
would popup a
0,1
. When it would be an array, it would popup a
0
, and when
alert(array[1]);
is called, it should popup the
1
.

Is there any chance to convert such string into a JS array?

Answer

For simple array members like that, you can use JSON.parse.

var array = JSON.parse("[" + string + "]");

This gives you an Array of numbers.

[0, 1]

If you use .split(), you'll end up with an Array of strings.

["0", "1"]

Just be aware that JSON.parse will limit you to the supported data types. If you need values like undefined or functions, you'd need to use eval(), or a JavaScript parser.


If you want to use .split(), but you also want an Array of Numbers, you could use Array.prototype.map, though you'd need to shim it for IE8 and lower or just write a traditional loop.

var array = string.split(",").map(Number);
Comments