Javascript:一个二维数组的字符串

Javascript : String to a two dimesional Array

本文关键字:一个 二维数组 字符串 Javascript      更新时间:2023-09-26

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

User,5
Group,6

我想把这个字符串转换成下面这样的二维数组,知道我该如何实现吗?

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

您必须通过换行符或空格进行拆分,并映射为通过冒号进行拆分:

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;
});

注意,您必须为不支持ECMAScript5的浏览器安装映射,以保持跨浏览器兼容性。你可以通过将其添加到你的代码中来做到这一点

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;
  };
}
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]
       }
}

在此之后使用COMMA拆分的字符串,例如

     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]]];

试试这个

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

*假设从函数返回的字符串为"User,5'nGroup,6"