我有一个这样的对象数组
{
"data": [{
"location": {
"type": "Point",
"coordinates": [
77.361916,
28.606075
]
},
}]
}
我想从中获取经度和纬度并将对象更改为类似这样的内容:
{
"data": [{
"latitude": 28.606075,
"longitude": 77.361916,
}]
}
我该如何实现?我尝试做
response.map((data: any) => {
console.log(data.location);
let latitude = data.location.coordinates[2];
let longitude = data.location.coordinates[1];
delete data.location;
data.latitude = latitude;
data.longitude = longitude;
})
我知道这是错误的,但是我该如何解决?
答案 0 :(得分:2)
如果只有一套
const oldObj = {
"data": [{
"location": {
"type": "Point",
"coordinates": [
77.361916,
28.606075
]
},
}]
}
const [longitude, latitude] = [...oldObj.data[0].location.coordinates]
const newObj = {
data: [{ latitude, longitude }]
}
console.log(newObj)
更多
const oldArr = [{ "data": [{ "location": { "type": "Point", "coordinates": [ 77.361916, 28.606075 ] }, }] }, { "data": [{ "location": { "type": "Point", "coordinates": [ 77.361916, 28.606075 ] }, }] }, { "data": [{ "location": { "type": "Point", "coordinates": [ 77.361916, 28.606075 ] }, }] } ]
const newArr = oldArr.map(item => {
const [longitude, latitude] = [...item.data[0].location.coordinates];
return {
data: [{
latitude,
longitude
}]
}
})
console.log(newArr)