我正在尝试转换这样的字符串 "10|15|1,hi,0,-1,bye,2"
其中前两个元素 10|15
的意思不同于 1,hi,0,-1,bye,2
。我想将它们彼此分开。实现这一目标的一种天真的方法是:
value = string.split("|");
var first = value[0];
var second = value[1];
var tobearray = value[2];
array = tobearray.split(",");
(当然,如果您知道以更好的方式执行此操作,我将很高兴知道)。
但是,array
是一个包含 array[0]=1, array[1]=hi, array[2]=0, array[3]=-1
的数组等。但是,我想获得一个二维数组,例如
array[0][0]=1, array[0][1]=hi, array[0][2]=0
array[1][0]=-1, array[1][1]=bye, array[1][2]=2
有什么办法吗?
谢谢
最佳答案
可以预先提取前两个元素 (10|15
)。之后你剩下:
var a = "1,hi,0,-1,bye,2";
让我们拼接,直到我们一无所有:
var result = [];
a = a.split(',');
while(a[0]) {
result.push(a.splice(0,3));
}
result; // => [["1","hi","0"],["-1","bye","2"]]
关于javascript - 在javascript中将字符串转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5163709/