Sign up ×
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them, it only takes a minute:

This question already has an answer here:

I have a string containing following data:

6,11,32,110,235,369,640,1005,1436,2063,3057,4618,6444,9822,15468,20434,24126,27387,29459,31056,31982,32040,31233,29224,27342,26662,26956,27912,28999,28965,27826,25579,25722,24826,24605,24304,23464,23708,24099,24357,24237,24401,24344,23586,22380,21004,17287,14747,13076,12555,12144,11009,10950,10871,10824,10577,10527,10475,10421,10358,10295,10104

basically i am reading this string from a file, i want to pass it on to the data of a series in highchart. when i do data:(above mentioned string), no data gets displayed, maybe because it is a string (even though everything gets declared as var). but when i declare an array of data myself like

var series = [6,11,32,110,235,369,640,1005,1436,2063,3057,4618,6444,9822,15468,20434,24126,27387,29459,31056,31982,32040,31233,29224,27342,26662,26956,27912,28999,28965,27826,25579,25722,24826,24605,24304,23464,23708,24099,24357,24237,24401,24344,23586,22380,21004,17287,14747,13076,12555,12144,11009,10950,10871,10824,10577,10527,10475,10421,10358,10295,10104];

It displays the data on to the chart. So kindly tell me how to convert the string i'm reading from file into the array of data i declared.

share|improve this question

marked as duplicate by Schleis, David Thomas, Greg, Mario Sannum, random Mar 12 '14 at 22:31

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
Your question would look better if you put your current file reading script... – vogomatix Mar 12 '14 at 16:36
    
string.split(',') – Jonathan de M. Mar 12 '14 at 16:37

4 Answers 4

up vote 0 down vote accepted

If Highcharts only accepts arrays of integers, you can split the string into an array and then use map to cast the strings either into integers or floating point numbers:

var arr = str.split(',').map(function (el) {
  return parseInt(el, 10);
});

Fiddle

share|improve this answer
3  
Or just str.split(',').map(Number) – xdazz Mar 12 '14 at 16:47

Use .split method:

> "6,11,32,110,235,369".split(',')
  ["6", "11", "32", "110", "235", "369"]

And if you want them be a number:

> "6,11,32,110,235,369".split(',').map(Number)
  [6, 11, 32, 110, 235, 369]
share|improve this answer

Let's take a look at the following example. You will have a better understanding of the whole process of converting string into array. You can copy and paste the code to see if that works.

 <!DOCTYPE html>
 <html>
 <body>

<p id="demo">Click the button to display the array values after the split.</p>

<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
    {
      var strValue = "How are you doing today?";
     var StrToArray = str.split("");
     document.getElementById("demo").innerHTML=res;
}
</script>

</body>
</html>
share|improve this answer

Equal the string to a variable, and then use the split() method.

string.split(',');
share|improve this answer
    
The array has to be numbers, not strings. – Andy Mar 12 '14 at 16:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.