Javascript 访问哈希表中的元素

Javascript 访问哈希表中的元素,javascript,ajax,arrays,json,hashtable,Javascript,Ajax,Arrays,Json,Hashtable,我在兜圈子,弄不清楚如何访问这个哈希表中的元素。我已经成功地从json返回了数据。它是一个对象,但此对象包含两列fips和相应的值。我想进入第一排。我尝试过使用raw.fips/raw[fips]和raw[0]都返回未定义的数据,但raw中有数据我不知道如何访问它 这里是ajax,如果它有帮助的话 $.ajax({ type: "GET", url: WebRoot + "ws/GIS.asmx/CensusData", data: d, contentType:

我在兜圈子,弄不清楚如何访问这个哈希表中的元素。我已经成功地从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=原始[索引]

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

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

如果这不起作用,那么,如果您可以显示一些返回数据的示例,这将使故障排除变得更容易。

搞定了,谢谢。我必须阅读更多关于哈希表和数组的内容,我还没有找到它们。谢谢你的问题。很乐意帮忙。:)查看这篇关于JS对象与阵列的文章,它涵盖了大部分基本内容: