我在以下配置中从数据库返回了可变数量的纬度和经度
纬度、经度*纬度、经度*纬度、经度
等
所以我选择了有效的*
。
然后我在 ,
上进行拆分,如果我打印特定的数组单元格,这似乎可以工作。
当我尝试执行以下操作时,一切都变得糟糕了。
当我打印时
绳索[0, 0] + 绳索[0, 1] + "\r\n"+ 绳索[1, 0] + 绳索[1, 1] + "\r\n"+ 绳索[ 2, 0] + 绳索[2, 1] + "\r\n"
依此类推,每一行都有相同的精确纬度和经度
41.47033705-81.93612862
41.47033705-81.93612862
41.47033705-81.93612862
41.47033705-81.93612862
...
我昨晚整夜调试了这个东西,然后今晚又调试了几个小时,但我似乎找不到错误。
var cords = [];
var response = xmlhttp.responseText;
var locs = response.split("*");
for(var len = 0; len < locs.length; len++)
{
var temp = String(locs[len]).split(",");
if (temp.length > 1)
cords.push(temp[0],temp[1]);
}
我也尝试过cords.push(temp)
,但也不起作用
最佳答案
如果你想要二维数组,你需要使用:
cords.push([temp[0],temp[1]]);
而是将其寻址为 cords[0][0]
等。这样,您就拥有了一个包含 N 个元素的数组,其中每个元素都是恰好包含 2 个元素的数组。
解释为什么您的代码不起作用:
cords[2, 1]
表达式被视为对具有 2, 1
索引的 cords
数组的访问。而 2, 1
是带有逗号运算符的 2 个数字。逗号运算符返回最后传递的操作数。因此 2, 1
实际上等于 1
,因此 cords[2, 1]
转到 cords[1]
>
关于Javascript - 要么 Push(StringArray.split (",") 不起作用,要么循环不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18347433/