我有一个 javascript 函数,它返回以下格式的字符串:
User,5
Group,6
我希望将此字符串转换为如下所示的二维数组,知道如何实现吗?
[['user,5],['Group',6]]
我有一个 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;
});
注意,您必须为不支持 ECMA Script 5的浏览器安装地图以保持跨浏览器兼容性。您可以通过将其添加到您的代码来做到这一点
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]
}
}
之后使用逗号分隔字符串,例如
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"