访问哈希表中的元素

时间:2013-08-07 16:27:08

标签: javascript ajax arrays json hashtable

我正在圈子里,对如何访问此哈希表中的元素感到困惑。我已经成功地从json返回了我的数据。它是一个对象,但是这个对象包含两列fips和相应的值。我想访问第一行。我已经尝试过使用raw.fips / raw [fips]和raw [0]都返回undefined但是有原始的数据我只是不知道访问它。

如果它有帮助,这里是ajax

$.ajax({
    type: "GET",
    url: WebRoot + "ws/GIS.asmx/CensusData",
    data: d,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        fipsData = data.d;                                            
        console.log("json object returned data : " + fipsData);
        init(regType, varId);                
    } //ends success function
});  //ends ajax call

ajax返回数据,在日志中有3141行/元素,我不确定。

var raw = fipsData;
var valMin = Infinity;
var valMax = -Infinity;        

for (var index in raw) {
    fipsCode = raw[fips];
    console.log(fipsCode);
}

//log data
console.log("fipsData is : " + fipsData);              
console.log("Raw number :" + raw);//undefined  

1 个答案:

答案 0 :(得分:0)

您在此代码中使用了错误的索引:

for (var index in raw) {
    fipsCode = raw[fips];
    console.log(fipsCode);
}

您已将index设置为您用于循环的变量,但在尝试访问时使用fips。尝试将fipsCode = raw[fips];更改为fipsCode = raw[index];

此外,在循环访问对象时,应始终进行hasOwnProperty检查,以避免尝试处理方法等。试试这个:

for (var index in raw) {
    if (raw.hasOwnProperty(index)) {
        fipsCode = raw[index];
        console.log(fipsCode);
    }
}

如果这不起作用,那么,如果您可以显示某些返回数据的样本,那么可以更轻松地进行故障排除。