javascript - String values to Numeric Array - Stack Overflow

What is the best way to convert the string values to an int array, e.g.:var s = '1,1,2';to:va

What is the best way to convert the string values to an int array, e.g.:

var s = '1,1,2';

to:

var a = [1,1,2];

Thanks

What is the best way to convert the string values to an int array, e.g.:

var s = '1,1,2';

to:

var a = [1,1,2];

Thanks

Share Improve this question edited Feb 10, 2011 at 17:16 Andy E 345k86 gold badges481 silver badges451 bronze badges asked Feb 10, 2011 at 16:56 xylarxylar 7,67317 gold badges59 silver badges105 bronze badges 3
  • Do you trust the values in the string array or do you need to validate that each value is numeric? – jball Commented Feb 10, 2011 at 16:58
  • I was thinking about using split then parseInt to make sure, the values should be ok though – xylar Commented Feb 10, 2011 at 17:01
  • If you trust the values, the solution in the first part of @Andy E's answer is the simplest and quickest. – jball Commented Feb 10, 2011 at 17:04
Add a ment  | 

3 Answers 3

Reset to default 5
"1,2,3".split(",").map(Number);

And for those browsers that don't implement map, take an implementation like this one from here: https://developer.mozilla/en/JavaScript/Reference/Global_Objects/Array/map

Array.prototype.map is in ECMAScript5, so don't be afraid to augment Array.prototype.

JavaScript is a dynamic-typed language, which means that it might not be so important for those array items to be numbers. If that's the case, you might want to consider just using split():

var s = '1,1,2',
    a = s.split(",");

If it is important that they're numbers, then your best bet is to iterate over them afterwards:

for (var i = 0, max = a.length; i < max; i++)
    a[i] = +a[i]; 

There's also the ECMAScript 5th Edition method map, but it's not implemented in all browsers yet.

If the data is secure, you could use .eval().

var a = eval( '[' + s + ']');

If you're not sure about security, you could use JSON.parse.

var a = JSON.parse( "[" + s + "]" );

...though you'll need to include a parser in browsers that don't support it natively.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745169051a4614810.html

相关推荐

  • javascript - String values to Numeric Array - Stack Overflow

    What is the best way to convert the string values to an int array, e.g.:var s = '1,1,2';to:va

    7小时前
    30

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信