Подтвердить что ты не робот

Добавить массив в двумерный массив

Массив A - это двумерный массив. Он состоит из массива X и Y. Я хотел бы добавить массив Z в массив A как другой элемент в массиве A. Как это сделать?

Отредактировано, чтобы добавить код:

arrayA = new Array(
    [1, 2, 3] //array x
    [4, 5, 6] //array y
    );

arrayZ = new Array(7, 8, 9);

//now, how do I add arrayZ onto the end of arrayA?
4b9b3361

Ответ 2

Без какого-либо кода я просто предполагаю

arr [0] = - массив X

arr [1] = массив Y

поэтому вы можете использовать arr [2] для Y

var foo = new Array()
foo[0] = new Array() // Your x
foo[1] = new Array() // Your y
foo[2] = new Array() // Your z

Ответ 3

Вы можете подтолкнуть свои массивы к массиву a так

JavaScript

var a = new Array();
var x = new Array();
var y = new Array();
var z = new Array();

a.push(x);
a.push(y);
a.push(z);

Изменить: После редактирования кода с помощью кода:

var z = new Array(7, 8, 9);
var a = new Array(
    [1, 2, 3],
    [4, 5, 6]
);

a.push(z);

Ответ 4

Хорошо, много ответов о том, как добавлять элементы в массивы, но давайте начнем с улучшения кода:

arrayA = [ //don't use new Array()
  [1, 2, 3],
  [4, 5, 6]
];

arrayZ = [7,8,9];

Есть несколько способов сделать это.

Вы можете использовать методы массива unshift или push

arrayA.unshift(arrayZ) //adds z to the front of arrayA
arrayA.push(arrayZ) //adds z to the end of arrayA

Вы также можете установить местоположение явно:

arrayA[0] = arrayZ //overwrites the first element
arrayA[1] = arrayZ //overwrites the second element
arrayA[2] = arrayZ //adds a new element at 2
arrayA[arrayA.length] = arrayZ //essentially the same as using push

Вы также можете splice новый элемент в массив:

arrayA.splice(1, 0, arrayZ)

1 указывает начальный индекс вставляемых/удаляемых элементов. 0 указывает, сколько элементов нужно удалить, в этом случае мы добавляем и не удаляем никаких. arrayZ - это элемент для вставки

Ответ 5

В ES6 вы можете использовать оператор спреда (...) следующим образом:

arrayA = [
  [1, 2, 3],
  [4, 5, 6]
];

arrayB = [7,8,9];

arrayA = [...arrayA, ...[arrayB]];