【问题标题】:Javascript : String to a two dimesional ArrayJavascript:二维数组的字符串
【发布时间】:2012-07-11 07:05:43
【问题描述】:

我有一个 javascript 函数,它返回以下格式的字符串:

User,5
Group,6

我希望将这个字符串转换为如下所示的二维数组,知道如何实现吗?

[['user,5],['Group',6]]

【问题讨论】:

  • 我试过 str.split(" ");但只返回一维数组。
  • 我认为您的结果格式错误。是[['user',5], ['Group', 6]] 吗?
  • 结果字符串是用“”分隔还是换行?

标签: javascript ajax arrays string


【解决方案1】:

你必须用换行符或空格分割,并映射到用冒号分割:

str.split("\n").map(function(e) { return e.split(',') });

编辑:如果您希望第二个是整数,请使用 parseInt 进行转换:

str.split("\n").map(function(e) {
   var arr = e.split(',');
   arr[1] = parseInt(arr[1], 10);
   return arr;
});

注意,您必须为do not have support for ECMA Script 5 的浏览器安装map 以保持跨浏览器兼容性。您可以通过将其添加到您的代码来做到这一点

if (!('map' in Array.prototype)) {
  Array.prototype.map= function(mapper, that /*opt*/) {
    var other= new Array(this.length);
    for (var i= 0, n= this.length; i<n; i++)
        if (i in this)
            other[i]= mapper.call(that, this[i], i, this);
    return other;
  };
}

【讨论】:

    【解决方案2】:
    var myBigString= "  ";
    
    var str1 =str.split("\n");
    var myarr; 
    for(var i=0;i<str1.length;i++) {
       var str2 =str.split(",");
          for(var j=0;j<str2.length;j++) {
                myarr[i] = str2[j]
           }
    }
    

    【讨论】:

      【解决方案3】:

      在此之后使用逗号分隔的字符串,例如

           VAR STR11="User,5";
       VAR STR22="GROUP,6";
          VAR STR=STR11.split(",");
           VAR STR1=STR22.split(",");
          var items = [[STR[0],STR[1]],[STR1[0],STR1[1]]];
      

      【讨论】:

      • 注意第二项还是字符串,所以不是5,而是"5"
      【解决方案4】:

      试试这个

      function convert(s) {
        s.split("\n").map(function(s1){
          var splits = s1.split(",")
          splits[1] = parseInt(splits[1])
          return splits
        }
      }
      

      *假设你从函数返回的字符串是"User,5\nGroup,6"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-06
        • 2021-06-12
        • 2019-01-23
        • 2012-01-25
        • 1970-01-01
        • 2019-09-14
        • 2019-02-18
        • 2013-05-06
        相关资源
        最近更新 更多