Javascript:如何在索引处向多维数组插入行?

时间:2015-10-21 10:48:29

标签: javascript arrays multidimensional-array

我是javascript的新手程序员。请指引我走正确的道路。

以下是尺寸 2 x 3 x 3

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

现在,我需要在索引1或2 处插入一行,例如[ [19,20,21], [22,23,24], [25,26,27] ]

我尝试使用splice功能,但都是徒劳的。

作为一个多维数组,我不知道 splice 函数的 itemN 参数中有什么值。

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

我怎样才能完成它?感谢

3 个答案:

答案 0 :(得分:5)

使用splice和deleteCount 0(第二个参数)。作为thrid param,你输入你想要添加的二维数组。

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);

这里的工作示例:jsfiddle

答案 1 :(得分:1)

您可以将要插入的完整数组传递给splice参数,例如:

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

DEMO

答案 2 :(得分:1)

接受的答案很好。

我制作了一个演示,以斜角插入中间行作为参考。

我与谁分享。

cmd="test -e a.txt || test -e b.txt"
eval "$cmd"

https://stackblitz.com/edit/angular-insert-row-matrix