2016-04-29 29 views
0

我是新的計算器: 這是我的問題,我想計算一個用戶有多少月份的門票,並將其推入我的數組中, 我這樣做了:計數在數組中有多少數據和增量javascript

for(j=0; j< data.data.tickets.length ;j++){ 
    var requesterid = data.data.tickets[j].requester_id; 
    var created_at = data.data.tickets[j].created_at; 
    var today = new Date().toISOString().slice(0, 7); 
    if(created_at.includes(today)&& requesterid == cleartab[requesterid]['id']){total ++}  

     var arrayRef2 = cleartab[requesterid]['monthly'] || []; 
     cleartab[requesterid]['monthly'] = arrayRef2.concat([{"janvier":total}], [{"fevier":"fef"}]); 
} 

問題是它給了我錯誤的結果。

這裏是我的數組:

My array

如果我的問題不明確,我可以重新解釋或告訴我,如果你需要更多的東西來回答它

我希望你能幫助我
我的問題:
有些人不應該有票的結果是不好的。我想確保在本月發送1張機票時,它只能增加一個人。現在,當有人在當月發送一張票時,每個用戶在當月獲得+1票。但我想要的是:它只對一個用戶發送票證的用戶增加。明白了嗎 ?

+0

什麼是「錯誤的」,結果? –

+0

有些人不應該有票的結果是不好的。我想確保在本月發送1張機票時,它只能增加一個人。現在,當有人在當月發送一張票時,每個用戶在當月獲得+1票。但我想要的是:它只對一個用戶發送票證的用戶增加。明白了嗎 ? – moskitos

+0

是不是因爲你正在使用一個全局變量'total'而被大家共享?你有沒有試過讓這個局部變量? – Patrick

回答

1

基於我對問題的理解,你可以嘗試如下:

for(j=0; j< data.data.tickets.length ;j++){ 
    var requesterid = data.data.tickets[j].requester_id; 
    var created_at = data.data.tickets[j].created_at; 
    var today = new Date().toISOString().slice(0, 7); 
    // read the monthly for a given requestor or 
    // initialize the new array by setting the total 
    // to 0 "janvier:0 
    var arrayRef2 = cleartab[requesterid]['monthly'] || 
        [{"janvier":0}, {"fevier":"fef"}]; 

    if(created_at.includes(today) && 
     requesterid == cleartab[requesterid]['id']){ 
     // increment the total, very first time the value of 
     // arrayRef2[0].janvier will be zero, but in 
     // next iteration it will be always the previous value 
     arrayRef2[0].janvier++; 
    }  

    cleartab[requesterid]['monthly'] = arrayRef2; 
} 
+0

非常感謝!我只想了解你做了什麼,你可以向我解釋:) – moskitos

+0

我已經寫了評論,基本上無論你做了什麼,但總價值總是從cleartab [requesterid] ['每月'],因此對於不同的用戶而言,它總是不同的。 –

相關問題