答案 0 :(得分:0)
完成所需内容的多种方法。一种方法是遍历结构,直到到达要操作的数组。在代码段中,我决定创建一个函数,该函数可以接收原始数据并返回一个新对象。为了“交换”数组的内容,我做了一个.splice(0)来制作数组的副本,然后在其上调用.reverse()来切换顺序。
主要挑战是遍历数据结构-对您当前的结构有一些相当直观的了解(一个坐标对象包含一个名为array的节点-有点令人困惑)
var dataFromTheServer = {
content: [
{
coordinates: {
coordinates: [
[17.25756,31.19192],
[15.1821, 40.87555],
[33.78433, 18.59314],
[17.25756,31.19192]
]
}
}
]
}
function swapEm(data){
var response = {};
if(data && data.content){
response.content = [{coordinates:{coordinates:[]}}];
for(var item in data.content){
if(data.content[item] && data.content[item].coordinates && data.content[item].coordinates.coordinates){
for(var coord in data.content[item].coordinates.coordinates){
response.content[0].coordinates.coordinates[coord] = data.content[item].coordinates.coordinates[coord].splice(0).reverse()
}
}
}
}
return response;
}
console.log(dataFromTheServer);
console.log(swapEm(dataFromTheServer))