重新排列数组中每个元素的顺序
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]]
我的应用程序使用 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]]