没有得到预期的结果 - 数组循环

时间:2011-11-07 12:59:23

标签: arrays actionscript-3

好的,所以这是在ActionScript 3中,我的问题在这里:

var numCols:uint = 7;
numRows:uint = 7;

row = 1;
column = 3;

total = row+column-1    
for(i = 0; i < numRows; i++){
    for(j = 0; j < numCols; j++){
        if(j < column){
            array[i][j]=total--
        }else{
            array[i][j]=total++                     
        }
    }
}

我期待这个结果在数组中:

3,2,1,2,3,4....

但是我得到了这个:

3,2,1,0,1,2,3,4...

1 个答案:

答案 0 :(得分:1)

问题

你的病情

if (j < column)

评估为true三次。

1. column = 3, j = 0, total = 3, total becomes 2
2. column = 3, j = 1, total = 2, total becomes 1
3. column = 3, j = 2, total = 1, total becomes 0

第四次执行else子句但此时您的total已降至0。

4. column = 3, j = 3, total = 0, total becomes 1.

可能的解决方案

我不知道你的用例,但改变了

array[i][j]=total++   

array[i][j]=++total

可能就是一切。