1

I have a dynamically filled variable containing numbers formatted as text that are separated by commas.

When alerting this out for testing I get something like: var myVar = 3,5,1,0,7,5

How can I convert this variable into a valid JavaScript or jQuery array containing integers ?

I tried $.makeArray(myVar) but that doesn't work.

2 Answers 2

3

Simple, try this.

var myVar = 3,5,1,0,7,5;
myVarArray = myVar.split(",");

// Convert into integers 
for(var i=0, len = myVarArray.len; I < len; I++){
  myVarArray[i] = parseInt(myVarArray[i], 10);
}
// myVarArray is array of integers 
Sign up to request clarification or add additional context in comments.

4 Comments

Thanks very much - this looks great. Can you explain what the ", 10" does ?
@user2571510 you can get complete doc for parseInt from developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
I see - thanks again ! I will accept as soon as I can.
@user2571510, check out my answer too
1

You can just do this:

var myVar = "3,5,1,0,7,5"; 
var myArr = myVar.split(',').map(function(x){return +x});

myArr will have integer array.

I changed myVar = 3,5,1,0,7,5 to myVar = "3,5,1,0,7,5" because the former wasn't valid.

I presume that it is a string.

12 Comments

@user2571510, this myVar = 3,5,1,0,7,5 is not valid.
I checked on this but it doesnt seem to work for me: myArr is empty in this case.
It works for me. Just copy paste my answer in your browser console and you'll see the result
Do I have to declare myArr as an array before ?
No. You don't have to do anything except copying my answer as it is.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.