如何将新数组附加到多维数组的开头
如何将新数组附加到多维数组的开头
这个问题已经有答案了:
如何在JavaScript中在数组开头添加新元素?社区在9个月前曾审核过是否重新开放此问题,但最终仍然关闭:
原始关闭理由未得到解决
我有一个名为 vArr 的二维数组,它看起来像这样...
vArr = [[1, 1], [2, 2], [3, 3]];
我的目标是,当需要将新的数组附加到 vArr 开头时,将所有数组元素都移动到新位置,然后删除 vArr 的最后一个元素以保留其大小(在本例中为 3)。例如,如果我想将新元素 [4, 4] 附加到 vArr 中,则新的 vArr 应该如下所示...
vArr = [[4, 4], [1, 1], [2, 2]];
[4, 4] 已附加到开头,所有其他元素已向前移动,并删除了 vArr 大小为 3 的任何剩余元素(即 [3, 3])。以下是我的代码...
var vArr = [[1, 1], [2, 3], [3, 3]]; var newv = [4, 4]; // New array to append // My attempt at splicing newv to position 0 in vArr array without removing anything vArr = vArr.splice(0, 0, newv); // newv logs to the console successfully, however vArr is undefined for some reason console.log(newv); console.log(vArr); // Get rid of final element (doesn't work because vArr is no longer defined from above) vArr = vArr.pop();
我知道 splice 行中的语法可能有问题,但是我一直无法在网上找到有关这里出了什么问题的信息。如果您要将数组插入 2D 数组,则拼接方法是否必须更改?或者在这种情况下根本不起作用吗? 非常感谢您的帮助!
admin 更改状态以发布 2023年5月21日
这里提供了解决方案:https://jsfiddle.net/fkz9ubug/
var vArr = [[1, 1], [2, 3], [3, 3]]; var newv = [4, 4]; vArr.unshift(newv) console.log(vArr);
文档