我在以下配置中从数据库中返回了可变数量的经纬度lat,lon*lat,lon*lat,lon
等
因此,我在有效的*
上进行了拆分。
然后我拆分,
,如果我打印特殊的数组单元格,它似乎可以工作。
当我尝试执行以下操作时,一切都会变得糟透了。
当我打印时cords[0, 0] + cords[0, 1] + "\r\n" + cords[1, 0] + cords[1, 1] + "\r\n" + cords[2, 0] + cords[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]
表达式被视为使用
cords
索引访问2, 1
数组。而2, 1
是2个数字,带逗号运算符。逗号运算符返回最后传递的操作数。所以2, 1
实际上等于1
因此cords[2, 1]
进入cords[1]
关于javascript - Javascript-push(String Array.split(“,”)不起作用或循环不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18347433/