2017-10-07 152 views
0

下面的函數返回此輸出。但我不明白爲什麼。任何線索? Output: {"A":{"antal":null},"B":{"antal":null},"C":{"antal":null},"D":{"antal":null},"E":{"antal":null},"G":{"antal":null}} 數組函數返回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" 
    } 

}

+1

你不明白爲什麼會創建和填充對象返回一個對象的功能? – Andy

+1

'globalSIEdata'看起來像什麼?你可以分享一些樣品/最小數據進行評估/測試嗎? –

+1

'statserier [serie] [「antal」] + = 1'的預期結果是什麼? – guest271314

回答

3

你忘從而初始化 「安塔爾」 屬性將是不確定的,嘗試例如:

statserier[serie]["antal"] = (statserier[serie]["antal"] || 0) + 1; 

或者你可以嘗試初始化statserier對象,而不是如下:

statserier[i] = { antal: 0 }; 
+2

'undefined + 1'會讓你'NaN'並且他得到'null' – MinusFour

+1

他發佈的輸出是字符串化的,NaN字符串化爲空。 – justadudewhohacks