简体   繁体   English

在不使用eval的情况下遍历json对象?

[英]Iterating over json object without using eval?

Sorry, this is probably a duplicate question, but how can I iterate over a list in Javascript inside another object without using eval()? 抱歉,这可能是一个重复的问题,但是如何在不使用eval()的情况下遍历另一个对象内Javascript中的列表?

See pseudocode in CAPITALS below: 请参阅下面的CAPITALS中的伪代码:

polygon = polygon['coordinates']; //list object
var polygon = new CM.Polygon([
   FOR POLY IN POLYGON {
       new CM.LatLng(poly[1], poly[0]),
}
]);

Obviously, I don't want a real for-loop inside the CM.Polygon object (a CloudMade map object), what I want is simply to output each LatLng in the list in turn. 显然,我不想在CM.Polygon对象(一个CloudMade映射对象)内创建真正的for循环,我想要的只是简单地依次输出列表中的每个LatLng。

Thanks! 谢谢!

Why don't you want to use a real for loop? 您为什么不想使用真实的for循环? My suggestion would be to use a self-executing function eg: 我的建议是使用一个自执行功能,例如:

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;
  }())
);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM