我有一个Markers谷歌地图数组,看起来像这样。
markers: [{
position: {
lat: 37.0636782,
lng: -8.0288746
},
infoText: 'Marker 1'
}],
我也有从我的CMS中提取的内容,看起来像这样。
[{
"latitude": "37.0636782",
"longitude": "-8.0288746",
"info_snippet": "test123"
},
{
"latitude": "37.0636789",
"longitude": "-8.0288745",
"info_snippet": "test111"
}]
我想获取第二个数组并将其输出与第一个数组相同。这可能吗?
这里要求的是我创建的循环。
this.pins = response.data.acf.map_markers;
let self = this;
this.pins.forEach(function(item) {
self.markers.position.lat.push(item.latitude);
self.markers.position.lng.push(item.longitude);
self.markers.infoText.push(item.info_snippet);
})
答案 0 :(得分:1)
映射原始内容并在那里创建自定义键。在你的情况下,它将是这样的:
this.pins = response.data.acf.map_markers;
this.pins.map(({latitude, longitude, info_snippet}) => ({
position: { lat: latitude, lng: longitude },
infoText: info_snippet
}));
const coords = [{
"latitude": "37.0636782",
"longitude": "-8.0288746",
"info_snippet": "test123"
},
{
"latitude": "37.0636789",
"longitude": "-8.0288745",
"info_snippet": "test111"
}
];
const newCoords = coords.map(({latitude, longitude, info_snippet}) => ({
position: { lat: latitude, lng: longitude },
infoText: info_snippet
}));
console.log(newCoords);