下面的函数返回此输出。但是我不明白为什么。有什么线索吗?Output: {"A":{"antal":null},"B":{"antal":null},"C":{"antal":null},"D":{"antal":null},"E":{"antal":null},"G":{"antal":null}}
功能是
function seriestat(){
var statserier = {};
$.each(globalSIEdata["#EXTRA"]["VERSERIER"], function(i, item) {
statserier[i] = {};
});
$.each(globalSIEdata["#VER"], function(i2, item2) {
var serie = i2.substring(0, i2.indexOf('-'));
statserier[serie]["antal"] += 1;
});
return statserier;
}
这是来自globalSIEdata的示例:
{ "#VER": {
"A-1": {
"verdatum": "2017-01-03"
},
"A-2": {
"verdatum": "2017-01-03"
},
"B-1": {
"verdatum": "2017-01-03"
},
"B-2": {
"verdatum": "2017-01-03"
}
"A-3": {
"verdatum": "2017-01-03"
}
}
最佳答案
您忘记了初始化“ antal”属性,因此该属性是未定义的,请尝试以下操作:
statserier[serie]["antal"] = (statserier[serie]["antal"] || 0) + 1;
或者,您可以尝试按以下方式初始化statserier对象:
statserier[i] = { antal: 0 };