迭代3级嵌套数组并选择内部数组的值

时间:2011-12-21 10:44:48

标签: javascript jquery json

使用Javascript我试图循环使用具有以下结构的3级嵌套数组:

Coordinates=[
             [
               [21.65568722694544, -21.69807092918915],
               [21.60654489773522, -21.69898151401483], 
               [21.55814494317222, -21.6948413352827], 
            ],
            [
               [31.25568722694544, -51.76895092918915],
               [31.40654489773522, -51.65698151401483], 
               [31.55814494317222, -51.5438413352827], 
            ],

          ]

我需要提取内部数组的X和Y值。 有没有办法从数组中获取以下结构:

polylines=      [
    new google.maps.LatLng( 35.0041, -88.1955 ),
    new google.maps.LatLng( 34.9918, -85.6068 ),
    new google.maps.LatLng( 32.8404, -85.1756 )

  ],
  [
    new google.maps.LatLng( 41.0037, -104.0556 ),
    new google.maps.LatLng( 44.9949, -104.0584 ),
    new google.maps.LatLng( 44.9998, -111.0539 )

  ]
];

          ]

1 个答案:

答案 0 :(得分:1)

for (var i=0;i<Coordinates.length;i++) {
    var the3Coords = Coordinates[i];

    for (var j=0;j<the3Coords.length;j++) {
        var xyCoord = the3Coords[j];

        // x = xyCoord[0];
        // y = xyCoord[1];
    }
}

你可以在这里看到这个; http://jsfiddle.net/h7J2N/

我已经使用变量来更容易地看到你在程序中的位置;如果你愿意,你当然可以取消变量;

for (var i=0;i<Coordinates.length;i++) {
    for (var j=0;j<Coordinates[i][j].length;j++) { 

        // x = Coordinates[i][j][0];
        // y = Coordinates[i][j][1];

    }
}

对于它的价值,具有主要资本的变量名称by convention通常保留给构造函数。因此,您可能需要考虑使用coordinates而不是Coordinates作为变量名称(是的,JavaScript is case sensitive)。