2016-04-04 46 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