【发布时间】:2011-07-07 00:42:04
【问题描述】:
我正在尝试转换像 "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: [1,'hi',0], 15: [-1,'bye',2] ,}?
-
@kojiro:嗯,我使用的是 google-dif-match-patch,它会生成数组(array()),因此,为了保持一致性,我选择使用多维数组。跨度>
-
@Robert 啊,我明白了。只是好奇!
-
@kojiro:没关系。我应该担心性能吗?
-
如果您的阵列真的这么小,那就不行了! ;) 说真的,我希望对象效率低于数组,但根据使用情况,可能更容易使用。
标签: javascript arrays string multidimensional-array