これは初心者のJavaScriptメドラーであることを意味しています。私のHTMLでJavaScript配列 - 使用時に0の長さですが、Chromeで正しい長さが表示されます
arrayA = [
{
"Key": "Key1",
"Value": {
"info1": "298431",
"info2": "55.035",
"info3": "11.375",
},
"Name": "Key1"
}
]
:
私は(私は[]でarrayAを宣言してからデータを含むファイルを摂取するために$ .getJSONを使用して、私の実際のコードでは)次のデータをarrayAと呼ばれる配列を持っていますページには、スクリプトタグ/セクションがあり、そこに定義されています。 arrayAの後に、私は "stuff"を試して実行するfuncA()という関数を持っています。これには、例として "Key1"のインデックスを見つけることが含まれます。
console.logの行を常に0として報告しますが、Chromeのコンソールを使用して長さをチェックすると、正しい数のオブジェクト(8950)が報告されます。
何が問題なのかよく分かりません。潜在的に可変スコープか、arrayAが初期化され、データがロードされる方法?助けてもらえますか?完全のために
:
<script type="text/javascript">
var arrayA = [];
$.getJSON('./source.json', function(data) {
arrayA = data;
});
function funcA() {
//Do stuff to find indexOf "Key1"
}
</script>
/D
ロギングステートメントはどこですか?これはおそらく[非同期呼び出しの応答を返す方法]を助けます(http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – charlietfl
あなたは 'funcA()'を使って/呼び出しますか?コードのその部分を表示してみませんか? –
こんにちは、すべての可能性の迅速な応答に感謝します。私は順番に試して回答し、いくつかの要求に応じてより多くの情報で質問を更新します。ありがとう! – Daenous