0

このハッシュテーブルの要素にアクセスする方法について、私はぐるぐる回って混乱しています。json からデータを正常に返しました。オブジェクトですが、このオブジェクトには 2 つの列 fips と対応する値が含まれています。最初の行にアクセスしたい。raw.fips / raw[fips] と raw[0] を使用してみましたが、すべて undefined が返されましたが、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  
4

1 に答える 1

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

これがうまくいかない場合は、返されたデータのサンプルを示すことができれば、トラブルシューティングを続けやすくなります。

于 2013-08-07T16:34:52.873 に答える