Arrays 我需要为我创建的二维数组添加一个值
因此,我使用以下代码创建了一个二维数组:Arrays 我需要为我创建的二维数组添加一个值,arrays,actionscript-3,matrix,Arrays,Actionscript 3,Matrix,因此,我使用以下代码创建了一个二维数组: var grid:Array = [ [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1] ] 我有一个按钮(理论上)将把一个值拼接到每一行,从而扩展网格宽度。然而,问题似乎不在我的代码中,而是在我将垂直增长和水平增长结合起来时 以下是我尝试用于增加高度的当前代码: var insertTo:int = 1; var temp:Array = grid[0]; grid.splice(1, 0
var grid:Array = [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
]
我有一个按钮(理论上)将把一个值拼接到每一行,从而扩展网格宽度。然而,问题似乎不在我的代码中,而是在我将垂直增长和水平增长结合起来时
以下是我尝试用于增加高度的当前代码:
var insertTo:int = 1;
var temp:Array = grid[0];
grid.splice(1, 0, temp);
for (var i:int = 0; i < grid.length; i++){
var insertTo:int = 1;
grid[i].splice(insertTo, 0, 1);
}
下面是我试图用于增加宽度的当前代码:
var insertTo:int = 1;
var temp:Array = grid[0];
grid.splice(1, 0, temp);
for (var i:int = 0; i < grid.length; i++){
var insertTo:int = 1;
grid[i].splice(insertTo, 0, 1);
}
以下是反向操作后的预期结果:
After width increase:
1,1,1,1,1
1,1,1,1,1
1,1,1,1,1
1,1,1,1,1
After height increase:
1,1,1,1,1
1,1,1,1,1
1,1,1,1,1
1,1,1,1,1
1,1,1,1,1
为什么它以一种方式工作而不是另一种方式工作,我该如何修复它?在将数组作为新值插入之前,必须克隆它 Array类没有用于制作数组副本的内置方法。 可以通过调用 不带参数的concat()或slice()方法。在浅拷贝中,如果 原始数组中的元素是对象,只有引用 复制到对象,而不是复制对象本身。副本 指向与原始对象相同的对象。对其所做的任何更改 对象在两个阵列中都会反射
为什么不使用
push
来代替拼接?非常感谢!现在100%有效了。帮了大忙。