2016-04-04 48 views
1

我正在迭代一個數組,並且每當特定的條件變爲true時,我想要創建一個新的數組(在另一個數組中)或(如果數組已經存在)將其值增加1 :要麼創建新的數組或增加計數器

for(var i=0; i<arr1.length; i++){ 
    if(condition==true){ 
     arr2[i] = ++ || []; // either increase by 1 or create new array 
    } 
} 

我的密碼給我一個Uncaught SyntaxError: Unexpected token ||

+1

你說的「1增加陣列的價值」是什麼意思? – gregmac

+0

你意想不到的標記是'||'='OR',所以需要在括號內有條件 – zer00ne

回答

2

我相信你的意思是創建如果存在一個新的數組值&增加它:

for(var i=0; i<arr1.length; i++){ 
    if(condition==true){ 
     arr2[i] = (arr2[i] || 0) + 1; // either increase by 1 or initialize 
    } 
} 
+0

我明白這個問題,因爲arr2 [i]是一個數組,而不是數字。 – RobG