Convert string array to integer array

前端 未结 4 862
耶瑟儿~
耶瑟儿~ 2020-12-02 00:30

I have an array of strings like [\'2\', \'10\', \'11\'] and was wondering what\'s the most efficient way of converting it to an integer array. Should I just loo

相关标签:
4条回答
  • 2020-12-02 00:43

    You can simply use the Number object.

    ḷet res = ['2', '10', '11'].map(Number);
    
    0 讨论(0)
  • 2020-12-02 00:51

    The simplest way to parse int from string is adding a + sign before:

    var res = ['1', '2', '3'].map(function(v){return +v})
    
    0 讨论(0)
  • 2020-12-02 00:52

    You can use

    var yourArray= yourArray.map(Number);
    

    Using jQuery, you can use the map method as below

    $.map(yourArray, function(value,index) { 
         return parseInt(value); 
     });
    
    0 讨论(0)
  • 2020-12-02 01:03

    Use map() and parseInt()

    var res = ['2', '10', '11'].map(function(v) {
      return parseInt(v, 10);
    });
    
    document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')

    More simplified ES6 arrow function

    var res = ['2', '10', '11'].map(v => parseInt(v, 10));
    
    document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')

    Or using Number

    var res = ['2', '10', '11'].map(Number);
    
    document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')


    Or adding + symbol will be much simpler idea which parse the string

    var res = ['2', '10', '11'].map(v => +v );
    
    document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')


    FYI : As @Reddy comment - map() will not work in older browsers either you need to implement it ( Fixing JavaScript Array functions in Internet Explorer (indexOf, forEach, etc.) ) or simply use for loop and update the array.

    Also there is some other method which is present in it's documentation please look at Polyfill , thanks to @RayonDabre for pointing out.

    0 讨论(0)
提交回复
热议问题