如何访问存储在指标对象内的日期?

时间:2012-06-05 08:51:30

标签: javascript google-maps google-maps-api-3 firebug

我有一个地图应用程序,在界面中,有一个组合框包含5个指标(HDI,Life Expectancy,..,..,..)。我使用FireBug 1.9.2检查了每个指标的“数据”,我发现,在每个指标的“数据”中列出了指标的名称,里面有一个日期列表(1960 ... ......截至2010年)其中一些日期包含根据其相应指标的数据,其中一些日期不包含数据“”。

我想要做的是,检查每个指标的日期以及日期是否包含数据或值,我想存储该日期,否则不对日期做任何事情。

请看我发布的快照可能会让我更清楚地知道我想做什么。

也请看我是如何努力实现这一目标的,但不幸的是结果并非我想要的结果:

function getYearsByIndicator(layername, indicator) {

var matchingLayers;
var vectorLayer;
var yearStore;

// get vector layer
matchingLayers = map.getLayersByName(layername);
if (matchingLayers.length == 1) {
    vectorLayer = matchingLayers[0];
}
else {
    console.log("getThematicStyleMap: Warning, the layer " + layername + " was not found!");
    return;
}

for (var i=0;i < vectorLayer.features.length;i++) {
    if (vectorLayer.features[i]['data'][indicator]) {
        // extract keys here!
    }
}

//build store containing the extracted keys

//return the store
return yearStore;

}

img1 img2 img3

1 个答案:

答案 0 :(得分:1)

由于它是一个对象,我想你可以通过以下方式访问它:

$data->{propertyname}
编辑:我很困惑,我猜你使用的是javascript而不是PHP(这是你的标签之一)。当您使用javascript时,您可以访问诸如访问数组之类的值,因此variable["property"]["subproperty"]

EDIT2:您可以使用

进行检查
   if(data["HDI"][1980] != "")
   {
      //date is not empty
   }

EDIT3:使用以下内容迭代内容:

for(var key in data["HDI"])
{
  //Key is 1980 etc
  if(data["HDI"][key] != "")
  {
    //Date is not empty
  }
}