Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript: How to insert a row at an index to a multidimensional array?

I am novice programmer in javascript. Kindly guide me in the right path.

Below is a 3D array of size 2 x 3 x 3

"items": [ [ [1,2,3], [4,5,6], [7,8,9] ], [ [10,11,12], [13,14,15], [16,17,18] ] ]

Now, I need to insert a row, something like [ [19,20,21], [22,23,24], [25,26,27] ] at an index 1 or 2.

I tried with splice function, but all in vain.

Being a multi dimensional array, I don't know what value goes into the itemN parameter of the splice function.

items.splice(insertIndex, 0, `????`); 

How can I accomplish it? Thanks

like image 691
Karthik Avatar asked Oct 21 '15 10:10

Karthik


2 Answers

use splice with deleteCount 0 (second parameter). as thrid param you enter the 2-dimensional array you want to add.

var items = [ [ [1,2,3], [4,5,6], [7,8,9] ], [ [10,11,12], [13,14,15], [16,17,18] ] ];
var add = [ [19,20,21], [22,23,24], [25,26,27] ];
items.splice(insertIndex, 0, add);

working example here: jsfiddle

like image 80
Andreas Linden Avatar answered Sep 23 '22 07:09

Andreas Linden


You can pass complete array which you want to insert to splice parameter, like:

items.splice(2, 0,[ [19,20,21], [22,23,24], [25,26,27] ]);

DEMO

like image 25
Manwal Avatar answered Sep 25 '22 07:09

Manwal