2016-10-19 12 views
2

に捕捉されないにReferenceErrorを取得:は、私はJavaScriptでこの機能を持っているのJavascript

var summaryObj = JSON.parse(jsonStr); 
var fieldsToConvertToFixedNumbers = ["total_wt_arr_slp", "total_wt_ivwap_slp"]; 

for(var i = 0; i < summaryObj.length; i++) { 
    var obj = summaryObj[i]; 
    for(key in obj) { 
     if(fieldsToConvertToFixedNumbers.indexOf(key) != -1) { 
     obj[key] = Number(obj[key]).toFixed(2); 
     } 
    } 
} 

は、なぜ私は、次のエラーを取得しています:

Uncaught ReferenceError: key is not defined 

この問題を解決する方法は?

+0

このエラーを示すのはどの回線ですか? 'summaryObj'とは何ですか? –

+0

@RocketHazmat for(key in obj)はエラー – Angad

+1

'for(var key in obj)'または新しいESNext stuff for(for key in obj)を表示しています – Keith

答えて

4

あなたのキーが定義されていないためです。

for(key in obj) { 

for(var key in obj) { 

にあなたのキーを定義するには:あなたは変更する必要があります。

+0

ああ、ええ!私はvarなしでそれが前に働いていたかわからない。 :/ – Angad

+1

@Angad厳しい環境では気にしませんが、未定義にすることができます。しかし、今日では、最新のブラウザーや多くの環境やプリプロセッサーが、より厳格な基準を適用することになり、現在このエラーが発生しています。 – samanime

1

keyを使用する前に宣言してください。

for(var key in obj)

私はそれはあなたの問題を解決する、願っています。

関連する問題