重新排列数组中每个元素的顺序

Rearranging order of each element in array

我的应用程序使用 JQuery 读取 GeoJSON 文件中的每个线串:

$.getJSON("testROUTES.geojson", function (dat) {

    $.each(dat.features, function (key, val) {

      var line = val.geometry.coordinates
      console.log(line)
      console.log(line[0])

    });
});

但是lat/lon坐标的顺序需要调换。比如上面的代码returns:

如何重新排列 var line 中的坐标,使坐标显示为 [45,-122] 而不是 [-122,45] 和 Jquery?

您可以使用map

val.geometry.coordinates = val.geometry.coordinates.map((coords) => {
    return [coords[1], coords[0]]
});

您可以尝试使用 JavaScript 的 Array.prototype.reverse 方法。

var line = val.geometry.coordinates.reverse()

一个有趣的 ES6 方法是,

[line[0], line[1]] = [line[1], line[0]]