我有非常复杂的对象,我需要循环通过多个级别的项目。这非常棘手非常快,我现在卡住了。遍历对象项目
我已经试过(请注意,我添加了一个错误,我得到):
var stuffCount = Object.keys(stuff).length;
//Loop through initial items in object
for(i = 0; i < stuffCount; i++) {
// Error occurs on this line:
// Uncaught TypeError: Cannot read property 'points' of undefined
var pointCount = stuff[i].points.length;
var coordinates = [];
//Loop through points in initial items
for(r = 0; r < pointCount; r++) {
coordinates.push(new google.maps.LatLng(
stuff[i].points[r].lat,
stuff[i].points[r].lng));
}
}
对象:它更复杂,但我做到了尽可能简单的这个问题的缘故。
var stuff = {
first: {
center: {
lat: 11,
lng: 22
},
points: [
{
lat: 11,
lng: 22
},
{
lat: 33,
lng: 44
},
{
lat: 55,
lng: 66
},
]
},
second: {
center: {
lat: 11,
lng: 22
},
points: [
{
lat: 11,
lng: 22
},
{
lat: 33,
lng: 44
},
{
lat: 55,
lng: 66
},
]
},
third: {
center: {
lat: 11,
lng: 22
},
points: [
{
lat: 11,
lng: 22
},
{
lat: 33,
lng: 44
},
{
lat: 55,
lng: 66
},
]
},
}
进出口试图使代码通过使用循环小。它用于在Google地图上显示多边形。我可以一个一个地做,但代码将会很大,因为我有像其中的100个+我希望它是动态的,这样我可以很容易地在将来添加新的多边形而不需要改变很多代码。
我的代码有什么问题?
它有很多问题。设置一个断点,并通过它一次 – charlietfl