Ошибка в двумерном массиве

160
18 февраля 2019, 14:30

Создается двумерный массив, который заполняется знаком -, а при i == 2, строка должна заполниться знаком +, но этого не происходит. Почему?

var rowArr = [], arr = [];
    for(var i = 0; i < 5; i++){
        for(var j = 0; j < 5; j++){
            rowArr[j] = '-';
            if(i == 2)
                rowArr[j] = "+";
        }
        arr[i] = rowArr;
    }
    console.log(arr)
Answer 1

Сделал вариант, который вы описали в комментариях, думаю это то, что вам нужно:

var arr = [];  
 
for (var i = 0; i < 5; i++) { 
    for (var j = 0; j < 5; j++) { 
        if (arr[j] == undefined) arr[j] = []; 
        arr[j][i] = (i == 2) ? '+' : '-'; 
    } 
} 
 
console.log(arr);

READ ALSO