【问题标题】:Convert integer array to string array in JavaScript在 JavaScript 中将整数数组转换为字符串数组
【发布时间】:2014-12-24 19:00:54
【问题描述】:

我有一个如下的数组:

var sphValues = [1, 2, 3, 4, 5];

然后我需要像下面这样转换上面的数组:

var sphValues = ['1', '2', '3', '4', '5'];

如何转换? 我用它来自动完成。

【问题讨论】:

  • sphValues.map(String)
  • @elclanrs 您应该将其发布为答案而不是评论
  • [1,2,3,4,5].toString().split(",")
  • @SonalPM 你应该参考markdown,因为你很难用链接发表评论,因为你发表和删除评论4次,现在5次

标签: javascript arrays


【解决方案1】:

只需使用array.map方法,就可以将数字数组转换为字符串数组

var sphValues = [1, 2, 3, 4, 5];
const numberToStringArray = sphValues.map((number) => {
return number.toString();
});
console.log(numberToStringArray); //['1', '2', '3', '4', '5']

【讨论】:

    【解决方案2】:

    使用地图的另一种解决方案:

    let nums = [1,2,2,4,3,2,5,6]
    let all_to_str = nums.map(num => {return num.toString()})
    console.log(all_to_str)
    

    输出:

    ['1', '2', '2', '4', '3', '2', '5', '6' ]

    【讨论】:

      【解决方案3】:

      ES6解决方案

      const nums = [1, 2, 3, 4, 5];
      const strs = Array.from(nums.join(``));
      console.log(strs);

      【讨论】:

        【解决方案4】:

        您可以使用map 并将String 构造函数作为函数传递,这会将每个数字变成一个字符串:

        sphValues.map(String) //=> ['1','2','3','4','5']
        

        这不会改变 sphValues。它将返回一个新数组。

        【讨论】:

        • 对于不支持Array.map的老浏览器,可以使用underscore.js:_.map(sphValues, String)
        • 不幸的是,这也会将布尔值转换为字符串。
        【解决方案5】:

        只需使用数组方法

        var sphValues = [1,2,3,4,5];   // [1,2,3,4,5] 
        sphValues.join().split(',')    // ["1", "2", "3", "4", "5"]
        

        【讨论】:

          【解决方案6】:
           var value;
           for (var i = 0; i < data3.sph.length; i++) {
               value = data3.sph[i];
               //sphValues[i] = data3.sph[i];
               var obj = {
                   label: value
               };
               sphValues.push(obj);
           }
          

          您可以使用此方法自动完成。我认为你的问题会得到解决,但它不会像你想要的那样转换,它会像你想要的那样转换

          ["label": "val1", "label": "val2"]
          

          【讨论】:

            【解决方案7】:

            在这种情况下使用.map() 是一个更好的选择,并且您可以像下面的代码一样执行此操作,这将为您的代码增加更多可读性,

            sphValues.map(convertAsString);
            
            function convertAsString(val) {
              return val.toString();
            }
            

            【讨论】:

              【解决方案8】:

              使用Array.map:

              var arr = [1,2,3,4,5];
              var strArr = arr.map(function(e){return e.toString()});
              console.log(strArr); //["1", "2", "3", "4", "5"] 
              

              编辑:
              最好使用 arr.map(String); 作为 cmets 中提到的 @elclanrs。

              【讨论】:

                【解决方案9】:

                您只需附加一个 '' 即可将其转换为字符串类型。

                var sphValues = [1,2,3,4,5];
                for(var itr = 0; itr<sphValues.length;itr++){
                  sphValues[itr] = '' + sphValues[itr];
                }
                

                【讨论】:

                  【解决方案10】:
                  for(var i = 0; i < sphValues.length; i += 1){
                      sphValues[i] = '' + sphValues[i];
                  }
                  

                  【讨论】:

                    猜你喜欢
                    • 2016-01-03
                    • 2019-04-21
                    • 2019-06-27
                    相关资源
                    最近更新 更多