for..in
構文を使用してJavaScriptオブジェクトをループするときに、この困惑のエラーが発生しました。JavaScriptの内部で変数が定義されていませんFor-Inループ
{
"12345678" : {
...
},
"12345679" : {
...
},
"12345680" : {
...
}
}
多分それは重要、このオブジェクトは応答のビルトイン.val()
方法を使用してFirebaseデータベースから取得されています。私はこれに似たダミーデータのセットを持っています。これは通常のjsオブジェクトです。
しかし、オブジェクトをトラバースするとき、がの内側にあると宣言された変数は、何らかの形で定義されていません。ループを除くすべてのコードを削除しましたが、エラーが発生します。
私は本当に困惑しています。これはどのように可能ですか?私はfor..in
に渡された変数がループ内で常に利用可能(または少なくとも定義済み)であると考えました。
'key'はどこかに定義しましたか? for(データ内のvarキー)と似ていますか?また、 'JSON.stringify(data、null、4)'のようなもので 'data'を印刷しようとしましたか? – mc10
ええ、それはばかげていました。どこでも 'var'宣言しませんでした。私は今30分、これをぶち壊してきた。私はそれが寝る時間だと思う。 – ppajer