Javascript 访问哈希表中的元素
我在兜圈子,弄不清楚如何访问这个哈希表中的元素。我已经成功地从json返回了数据。它是一个对象,但此对象包含两列fips和相应的值。我想进入第一排。我尝试过使用raw.fips/raw[fips]和raw[0]都返回未定义的数据,但raw中有数据我不知道如何访问它 这里是ajax,如果它有帮助的话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:
$.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对象与阵列的文章,它涵盖了大部分基本内容: