私はJavaScriptとJSONが苦手であることを認めます。オブジェクトの数値を足し合わせたときにNaNが返される理由を理解するために、多くの時間を費やしてきました。それを念頭に置いて、以下は私のJSONであり、変数に格納されています。
var data = [
{
"acc_ext_id": null,
"cat_code": 10002,
"cat_ds": "REVENUE",
"category_id": null,
"chart_id": null,
"created_at": null,
"dept_id": null,
"feb": null,
"id": null,
"jan": 30,
"note": null,
"total_cost": null,
"updated_at": null,
"year_id": null
},
{
"acc_ext_id": "41260-02600",
"cat_code": 10002,
"cat_ds": "REVENUE",
"category_id": 2,
"chart_id": 2373,
"created_at": "2013-01-15 16:43:52.169213",
"dept_id": 86,
"feb": 45,
"id": 3,
"jan": 60,
"note": "Two",
"total_cost": 105,
"updated_at": "2013-01-15 16:43:52.169213",
"year_id": 1
}
]
次に、オブジェクトを反復処理して値を合計しようとします。
var jan;
for (var i=0;i<data.length;i++){
if(data[i].jan != null){
jan += parseFloat(data[i].jan);
console.log(jan);
}
}
コンソールに印刷されNaN
ます。私はその数を解析し、生のままにしておこうとしましたが、役に立ちませんでした。オブジェクトに何か問題がありますか?説明するjsFiddleは次のとおりです。http://jsfiddle.net/5E2pm/3/