抱歉,这可能是一个重复的问题,但是如何在不使用 eval() 的情况下迭代另一个对象内的 Javascript 列表?
请参阅下面大写字母的伪代码:
polygon = polygon['coordinates']; //list object
var polygon = new CM.Polygon([
FOR POLY IN POLYGON {
new CM.LatLng(poly[1], poly[0]),
}
]);
显然,我不想在 CM.Polygon 对象(CloudMade map 对象)内部有一个真正的 for 循环,我想要的只是依次输出列表中的每个 LatLng。
谢谢!
最佳答案
为什么不想使用真正的 for 循环?我的建议是使用自动执行函数,例如:
polygon = polygon['coordinates']; //list object
var polygon = new CM.Polygon(
(function(){
var oput = [], x, y;
for ( x=0,y=polygon.length ; x<y ; x++){
oput.push(new CM.LatLng(polygon[x][1],polygon[x][0]));
}
return oput;
}())
);
关于javascript - 不使用 eval 迭代 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337439/