0

次の構成で、データベースから可変量の緯度と経度が返されます

lat,lon*lat,lon*lat,lonect

だから私はどちらがうまくいくかに分け*ます。

次に,、spicific配列セルを印刷するとうまくいくと思われるものに分割します。

しかし、以下を実行しようとすると、すべてがうまくいきません。

印刷するとき

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)どちらも機能しないことも試しました

4

3 に答える 3

3

2次元配列が必要な場合は、次を使用する必要があります。

cords.push([temp[0],temp[1]]);

代わりにcords[0][0]、 などのようにアドレス指定します。そのようにして、それぞれが正確に 2 つの要素の配列である N 要素の配列を取得します。

コードが機能しない理由の説明:

cords[2, 1]

cords式はインデックス付き配列へのアクセスとして扱われます2, 1。一方2, 1、カンマ演算子を使用した2つの数字です。コンマ演算子は、渡された最後のオペランドを返します。したがって2, 1、実際には等しい1のでcords[2, 1]cords[1]

于 2013-08-21T01:31:42.587 に答える
0

私のアプローチ...各配列には緯度と経度が含まれています。 http://jsfiddle.net/techsin/HWhMY/

var s = 'lat,lon*lat,lon*lat,lon';
var cords = makeArr(s);

console.log(cords[0][1]);

function makeArr() {
    var g = 0, arr = [],
        n = s.replace(/,|\*/g, ' ').split(' ').map(jn);

    function jn(s) {
        if (g<2) {
            arr.push(s);
            g++;
        } if (g>1) {
           g = 0, r = arr, arr = [];
           return r;
        }

    }
    n.forEach(function (e, i) {if (e == undefined) {n.splice(i, 1);}});
    return n;
}
于 2013-08-21T02:50:47.030 に答える
0
<script>
var locs = "lat1,lon1*lat2,lon2*lat3,lon3";
var arr = locs.split("*");
var cords = new Array();
for (var i=0;i<arr.length;i++){
    var x = arr[i].split(",");
    cords.push(x);
}
//test
for (var i=0;i<cords.length;i++){
    document.write(cords[i][0]+" "+cords[i][1]+"<br/>");
}
</script>
于 2013-08-21T01:52:51.790 に答える