访问哈希表中的元素

Accessing elements in a Hash Table

本文关键字:元素 哈希表 访问      更新时间:2023-09-26

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

如果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  

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

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

如果这不起作用,那么,如果您可以显示一些返回数据的示例,则可以更容易地进行故障排除。