Итерирование по объекту json без использования eval? - PullRequest
1 голос
/ 26 июля 2010

Извините, это, вероятно, повторяющийся вопрос, но как я могу перебрать список в Javascript внутри другого объекта без использования eval ()?

См. Псевдокод ЗАГЛАВНЫМИ БУКВАМИ:

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

Очевидно, что я не хочу реального цикла for внутри объекта CM.Polygon (объекта карты CloudMade), мне нужно просто выводить каждый LatLng в списке по очереди.

Спасибо!

1 Ответ

1 голос
/ 26 июля 2010

Почему вы не хотите использовать реальный цикл 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;
  }())
);
...