Показать сообщение отдельно
  #1 (permalink)  
Старый 19.12.2015, 11:44
Аватар для GrEb
Интересующийся
Отправить личное сообщение для GrEb Посмотреть профиль Найти все сообщения от GrEb
 
Регистрация: 12.02.2010
Сообщений: 14

Добавление в многомерный массив
Привет, коллеги!
Задача такая: есть таблица, нужно добавлять в нее строки - снизу или сверху. Поскольку push и unshift работали неправильно, упростил максимально, пароноидально выкинул все циклы, дабы не было сомнений. Почему вариант 1 работает неправильно, а вариант 2 - как ожидается, Что не так?
1.
<script>
var arr1 = [[22,1,2],[33,4,5],[44,7,8]];

    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);

var oneLASrow = [55,-1,-1];
    arr1[3] = oneLASrow;
    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);

    oneLASrow[0] = 66;
    arr1[4]= oneLASrow;
    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);

    oneLASrow[0] = 77;
    arr1[5] = oneLASrow;
    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);
</script>


2.
<script>
var arr1 = [[22,1,2],[33,4,5],[44,7,8]];

    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);

var oneLASrow = [55,-1,-1];
    arr1[3] = oneLASrow;
    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);

    oneLASrow = [66,-1,-1];
    arr1[4]= oneLASrow;
    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);

    oneLASrow = [77,-1,-1];
    arr1[5] = oneLASrow;
    console.log(arr1[0]);
    console.log(arr1[1]);
    console.log(arr1[2]);
    console.log(arr1[3]);
    console.log(arr1[4]);
    console.log(arr1[5]);
</script>


Спасибо!

Последний раз редактировалось GrEb, 19.12.2015 в 11:53.
Ответить с цитированием