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

iterate a 3 level nested array and pick the values of the inner array

本文关键字:数组 选择 内部 嵌套 3级 一个 迭代      更新时间:2023-09-26

使用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 )
  ]
];
          ]
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];
    }
}

就其价值而言,按照约定,以大写开头的变量名通常保留给构造函数使用。因此,您可能想要考虑使用coordinates而不是Coordinates作为变量名(是的,JavaScript是区分大小写的)。