我正在圈子里,对如何访问此哈希表中的元素感到困惑。我已经成功地从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
答案 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);
}
}
如果这不起作用,那么,如果您可以显示某些返回数据的样本,那么可以更轻松地进行故障排除。